Compare commits
798 Commits
old_debug
...
M_REFERENC
Author | SHA1 | Date | |
---|---|---|---|
|
fad893ed70 | ||
|
184b5d99a5 | ||
|
c2cde53a09 | ||
|
e0e9b65eaa | ||
|
bd5e2346d3 | ||
|
56194595d5 | ||
|
6b037754f5 | ||
|
25331334d4 | ||
|
deb907884a | ||
|
3bc755fc89 | ||
|
2243eed573 | ||
|
6fb26ea3b3 | ||
|
ee5e802571 | ||
|
4259a48e0b | ||
|
90aa629a92 | ||
|
e23d0e958e | ||
|
41dee9d0ce | ||
|
62bd087498 | ||
|
faf3cb3590 | ||
|
f57fe24c63 | ||
|
43a1889865 | ||
|
940c60c813 | ||
|
f536880994 | ||
|
8e18907799 | ||
|
e380f72b45 | ||
|
4832f7c06c | ||
|
8aa04e8bf1 | ||
|
892dbe9961 | ||
|
7615330240 | ||
|
0133ee9316 | ||
|
265898fd79 | ||
|
8ef6a930da | ||
|
55acd85e71 | ||
|
fb1585ae85 | ||
|
0f358732e4 | ||
|
e5d7a5b37b | ||
|
6dae83beef | ||
|
60e05667cb | ||
|
630d84f26f | ||
|
de5c0ba745 | ||
|
e9aad10ab7 | ||
|
917e533ba8 | ||
|
5b766d236b | ||
|
e8fdc26406 | ||
|
e6b5bdedf8 | ||
|
a462d1343f | ||
|
4d6306eb4d | ||
|
ea57084d10 | ||
|
605c9c8318 | ||
|
f9e02ac76b | ||
|
3dd4e4e05c | ||
|
d18ed59a36 | ||
|
87d1e11fd4 | ||
|
df875e593f | ||
|
f5e27805de | ||
|
ed7174bafe | ||
|
c33534e597 | ||
|
fd0eed647d | ||
|
3572173c01 | ||
|
5de9c45c5d | ||
|
76c5df2420 | ||
|
8f9d397616 | ||
|
910276d73f | ||
|
e471e2d054 | ||
|
386af6a2fa | ||
|
64d315544f | ||
|
6ca41e57f4 | ||
|
c55bc98ef7 | ||
|
4464bbee9c | ||
|
dc86cb34c3 | ||
|
8c65b36ad7 | ||
|
e1dc4cc687 | ||
|
9905086c2d | ||
|
e4d068605f | ||
|
c9d9f242e4 | ||
|
e895ec4513 | ||
|
de646ed1f5 | ||
|
7bce6aec99 | ||
|
5db1a502b4 | ||
|
f9f950fcd4 | ||
|
1950b38c35 | ||
|
96849c75a7 | ||
|
71317c5b30 | ||
|
a5e13868ca | ||
|
dce85cd4e7 | ||
|
0208334d5d | ||
|
fee0429537 | ||
|
58614078c4 | ||
|
3ebf240158 | ||
|
5a43154b56 | ||
|
84b46c356e | ||
|
7749df1f41 | ||
|
3efb01df7b | ||
|
cbb8c1d34c | ||
|
e5403d7c57 | ||
|
c67d86184d | ||
|
0280030162 | ||
|
31811e1aca | ||
|
a81258bee4 | ||
|
b926666447 | ||
|
a7e594b239 | ||
|
0b4d4194a2 | ||
|
f135ff73b4 | ||
|
4b5f3fe655 | ||
|
f4a4bd13d4 | ||
|
dbf858b5d6 | ||
|
f96aa4d9eb | ||
|
019bf1286f | ||
|
62b8502b43 | ||
|
07071479f2 | ||
|
db828ab4cb | ||
|
42c5812dbf | ||
|
0b4f9ee3d0 | ||
|
3a5a2f56f2 | ||
|
32e9da8bfa | ||
|
0e6c619a1a | ||
|
01111366c9 | ||
|
0ab4b99cdf | ||
|
e21a504837 | ||
|
321db4b6bf | ||
|
0d559d69c8 | ||
|
a316819695 | ||
|
1a3ac83faf | ||
|
ef366d323b | ||
|
06e38c8e2e | ||
|
fc54776e31 | ||
|
0d57be4594 | ||
|
b0f1bdde5a | ||
|
3349fe9210 | ||
|
df9c33a482 | ||
|
607d79b82b | ||
|
4e937c4d52 | ||
|
87832b70c5 | ||
|
4d94751752 | ||
|
e1822f7053 | ||
|
e4a81a2e96 | ||
|
9c1f7241c0 | ||
|
8f0c8a8093 | ||
|
2faefb26a4 | ||
|
19ae5cf071 | ||
|
ec45f8ee19 | ||
|
735c6572dc | ||
|
78bba745fc | ||
|
4d1d77e8f6 | ||
|
d5c9047acf | ||
|
e0a09ce419 | ||
|
c0ac1c32a4 | ||
|
100af5a812 | ||
|
8704bf74fb | ||
|
68dda78574 | ||
|
be6bf94bf0 | ||
|
08b7c251c4 | ||
|
1195ec4251 | ||
|
a4294b7832 | ||
|
02847e5984 | ||
|
ddbbbdd486 | ||
|
c96fd235be | ||
|
89c7e96229 | ||
|
520e470fdd | ||
|
2b165e9905 | ||
|
8d5e303441 | ||
|
49884e3e0d | ||
|
6dd2244b9d | ||
|
eda26cebb1 | ||
|
38a489ae36 | ||
|
2910dac85f | ||
|
645e44e364 | ||
|
07e88e448d | ||
|
07e80bdd10 | ||
|
78322206b8 | ||
|
a3b466481e | ||
|
124e17387c | ||
|
287c43c105 | ||
|
678f4bdc88 | ||
|
203feea888 | ||
|
d47631c8f5 | ||
|
ea13954cd2 | ||
|
48df9992ad | ||
|
47bc106012 | ||
|
85ee3474b7 | ||
|
8ef062da8f | ||
|
0075bd5d43 | ||
|
7cf98a658a | ||
|
5f31d8628c | ||
|
08ee50db7c | ||
|
8a9523f25d | ||
|
2aa45cc919 | ||
|
a24ce62235 | ||
|
d56894a83d | ||
|
77e3eac5f2 | ||
|
c085e33398 | ||
|
2d0a075d90 | ||
|
75ed1d15d0 | ||
|
1b19f0560f | ||
|
ff5a1c54e8 | ||
|
1075543838 | ||
|
4c7e33c5ea | ||
|
c3939f625e | ||
|
8a60ae88fb | ||
|
da36f5446f | ||
|
0ed9fce61a | ||
|
387a3b02e0 | ||
|
03f38c58fd | ||
|
fbc535ff08 | ||
|
66de8e7a1b | ||
|
fd71308fc8 | ||
|
c39d4bcf2b | ||
|
42d819d67e | ||
|
9d9355c60c | ||
|
a65f3e5499 | ||
|
42ff6409d9 | ||
|
7cacdad3e2 | ||
|
b26e2dc41d | ||
|
e86d366cab | ||
|
1b826605f5 | ||
|
32cbeff4c3 | ||
|
fb4e5803ed | ||
|
418955322b | ||
|
8d950bdb57 | ||
|
b8d3a4f1a1 | ||
|
3ad0023f59 | ||
|
09ee8e72b2 | ||
|
2c3b684c2b | ||
|
524bf39144 | ||
|
dfad059924 | ||
|
9c039d08bf | ||
|
d1c74ca98b | ||
|
9e4b2f1c57 | ||
|
d4b67f95d2 | ||
|
297a3fece1 | ||
|
217e13fa85 | ||
|
b80dc5febe | ||
|
2d5249297d | ||
|
30d9011f40 | ||
|
ac9390a0bc | ||
|
9ee2d31ccc | ||
|
c89a610604 | ||
|
8248314dbd | ||
|
851b94590a | ||
|
1c3d41800c | ||
|
d9692df7a3 | ||
|
f97c985452 | ||
|
23e09f1115 | ||
|
7ce404dd7b | ||
|
e4b19d9b20 | ||
|
126eb09b0f | ||
|
27fc802d5c | ||
|
47d67540a0 | ||
|
d069d02e1e | ||
|
f51f94ea2e | ||
|
76626af21b | ||
|
d0dc2fe891 | ||
|
e97f20a0f2 | ||
|
16c1f7f345 | ||
|
dcf40a56e7 | ||
|
ecadfc3f5a | ||
|
1c4a764c98 | ||
|
803bf1c581 | ||
|
dfc5454127 | ||
|
b112d15289 | ||
|
a4876ea44c | ||
|
e79848acfe | ||
|
e096774dd1 | ||
|
02e8b2f9fb | ||
|
a5e0e655cb | ||
|
dfcb1ae09d | ||
|
23d1d521c8 | ||
|
3093cef829 | ||
|
50414e24a7 | ||
|
2319d2b09a | ||
|
9b6dbb0974 | ||
|
4bb6408c26 | ||
|
c9d22ba77c | ||
|
5f3cd8a22a | ||
|
9da0d96f87 | ||
|
856d2e527d | ||
|
46ccb5107f | ||
|
9fdf3c3877 | ||
|
054889057e | ||
|
3c024cc22f | ||
|
589f0e3e60 | ||
|
7f555861b7 | ||
|
f93ce4dadc | ||
|
335a8b43e9 | ||
|
86411736c3 | ||
|
fbcb41664b | ||
|
8fdca65cf2 | ||
|
84efdbf195 | ||
|
cfb88c5569 | ||
|
8cb50e4b46 | ||
|
341287bf49 | ||
|
cb43b372fb | ||
|
e55ad60e19 | ||
|
384b4373c7 | ||
|
b7db6f0b6d | ||
|
0c32066b58 | ||
|
d8c838755a | ||
|
ab346a0c3f | ||
|
337d7956cc | ||
|
5a2055fa9b | ||
|
cb17fe41ee | ||
|
27529614c2 | ||
|
f395c809b5 | ||
|
a665764c39 | ||
|
c058d77142 | ||
|
c740f49634 | ||
|
6f5f3ca0fe | ||
|
d6d1892b89 | ||
|
6987a6c3d0 | ||
|
61607c3641 | ||
|
d84eb08384 | ||
|
b8c631bb29 | ||
|
e22036dc39 | ||
|
a60c99e6a9 | ||
|
c9dac6640f | ||
|
774e843c03 | ||
|
83058c584f | ||
|
b4071e913e | ||
|
a6d7030871 | ||
|
97b3455a6d | ||
|
8ed57d9312 | ||
|
88db66e373 | ||
|
3e64d4e1e5 | ||
|
743e0a66f6 | ||
|
040f0110fc | ||
|
fd2daa68f4 | ||
|
27fda0b6a1 | ||
|
252eb8fd71 | ||
|
a7ee134340 | ||
|
10310d8322 | ||
|
7c3c5eccb2 | ||
|
4c84fa8d91 | ||
|
fcc6dddd1f | ||
|
d3904ceb9a | ||
|
13439807d3 | ||
|
3f659fd6b1 | ||
|
f4ada56822 | ||
|
560b92f577 | ||
|
acb62b847b | ||
|
3bdd13763c | ||
|
72212c2879 | ||
|
3972fb4919 | ||
|
68278f98be | ||
|
2e5ed787e9 | ||
|
868a28262c | ||
|
1573d8ed98 | ||
|
e1e955e14c | ||
|
42871d3819 | ||
|
11bc0805de | ||
|
f3cb6592e9 | ||
|
5b011451bd | ||
|
25c70b07e6 | ||
|
f05df5a85a | ||
|
94a0f3ce22 | ||
|
66c135f346 | ||
|
741fd2033e | ||
|
dd7f2a6c52 | ||
|
db5d183b03 | ||
|
cf7a7e133b | ||
|
24d20a8f73 | ||
|
2cb21a4540 | ||
|
c487af252d | ||
|
a83ffecb67 | ||
|
9dbd8eb8f1 | ||
|
b3031762e8 | ||
|
c98f04213e | ||
|
e96ddf25ad | ||
|
9a648dc916 | ||
|
7b46ecac64 | ||
|
bcf1fa6bb4 | ||
|
8429bec1e8 | ||
|
2f2aa6287b | ||
|
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 |
11
.cvsignore
Normal file
11
.cvsignore
Normal file
@@ -0,0 +1,11 @@
|
||||
system.list
|
||||
bin
|
||||
.gdb_history
|
||||
Test
|
||||
config.cache
|
||||
config.status
|
||||
system.list
|
||||
linux.system.cache
|
||||
wx-config
|
||||
config.log
|
||||
linux-gnu.system.cache
|
8
Makefile
8
Makefile
@@ -53,12 +53,18 @@ user::
|
||||
@echo "entering directory user building all"
|
||||
@cd user; ${MAKE} all
|
||||
|
||||
install::
|
||||
@echo "entering directory src for installing"
|
||||
@cd src; ${MAKE} install
|
||||
@echo "entering directory utils for installing"
|
||||
@cd utils; ${MAKE} install
|
||||
|
||||
# the following ones recreate all Makefiles.
|
||||
|
||||
makefiles:: recreate
|
||||
Makefiles:: recreate
|
||||
recreate::
|
||||
@src/gtk/setup/general/createall
|
||||
@setup/general/createall
|
||||
|
||||
# the following ones define what needs to be done to distribute the
|
||||
# library and its components
|
||||
|
58
TODO.txt
58
TODO.txt
@@ -1,52 +1,42 @@
|
||||
********************* TODO list for wxWindows 2 ******************************
|
||||
|
||||
The items are grouped by platform (generic, MSW, GTK...) and inside by
|
||||
subject. The first 2 columns containg the following codes:
|
||||
|
||||
Priority classification: Amount of work expected:
|
||||
9 next point release q quick fix
|
||||
8 next release s small change
|
||||
7 as soon as possible l a little work
|
||||
6 soon w some work
|
||||
5 should be included b big change
|
||||
4 nice to have m major change
|
||||
3 consider including ? don't know how to fix
|
||||
2 maybe not - unclassified
|
||||
1 probably not
|
||||
- unclassified
|
||||
|
||||
After the subject the name in brackets indicates the person who is going to do
|
||||
it.
|
||||
|
||||
=============================== common ========================================
|
||||
|
||||
4w wxString optimization (VZ)
|
||||
allocate more memory than needed to avoid reallocation each time when
|
||||
operator+ or += is used.
|
||||
wxSocket, wxTCP etc..
|
||||
|
||||
6b stream classes (VZ)
|
||||
wxMultiMedia
|
||||
|
||||
=============================== generic ======================================
|
||||
|
||||
7s wxTreeCtrl root item (RR)
|
||||
root item is not shown currently (unlike in MSW version)
|
||||
wxTreeCtrl keyboard handling
|
||||
wxTreeCtrl icon support
|
||||
|
||||
5w wxImageList
|
||||
it's not implemented currently, to do (assuming that all images have the
|
||||
same size - no resizing should be done to simplify the job)
|
||||
wxListCtrl icon support in list mode
|
||||
|
||||
================================ MSW ==========================================
|
||||
|
||||
7w consistent keyboard interface and focus behaviour (VZ)
|
||||
Consistent keyboard interface and focus behaviour
|
||||
currently, the focus is lost all the time (after a MessageBox, for example)
|
||||
and sometimes TABbing through controls doesn't work
|
||||
|
||||
================================ GTK ==========================================
|
||||
|
||||
9m keyboard interface (RR)
|
||||
TAB traversal, Alt-letter accelerators for the controls and accelerators
|
||||
for menu items - TODO.
|
||||
Add support Set colour/baclgroundcolour in GTK widgets
|
||||
Correct tab navigation (seems to be a GTK feature)
|
||||
Finish DnD
|
||||
Add Clipboard
|
||||
Help system (not sure about this one)
|
||||
Show accelerator in menus
|
||||
More controls with bitmaps
|
||||
Speed up bitmap saving
|
||||
Add wxBitmapHandler
|
||||
Fix printing of bitmaps
|
||||
Implement wxRadioBox layout
|
||||
Finish wxTextCtrl
|
||||
Finish native wxTreeCtrl
|
||||
Implement wxPalette
|
||||
Implement wxDirDialog
|
||||
Support cooperation between Qt and wxWindows
|
||||
Fix toolbar tips
|
||||
TrueType support (just kidding)
|
||||
|
||||
3b wxTreeCtrl native implementation?
|
||||
GTK has a GtkCTree widget which seems to be quite close to the Windows
|
||||
standard control - what about writing a native wxTreeCtrl based on it?
|
||||
|
0
install/gtk/config.guess → config.guess
vendored
0
install/gtk/config.guess → config.guess
vendored
0
install/gtk/config.sub → config.sub
vendored
0
install/gtk/config.sub → config.sub
vendored
3810
install/gtk/configure → configure
vendored
3810
install/gtk/configure → configure
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
||||
distrib/*.*
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
|
||||
docs/readme.txt
|
||||
docs/install.txt
|
||||
@@ -8,6 +9,10 @@ docs/upgrade.txt
|
||||
docs/todo.txt
|
||||
docs/licence.txt
|
||||
docs/symbols.txt
|
||||
docs/*.html
|
||||
|
||||
src/*.inc
|
||||
src/mkdir
|
||||
|
||||
src/common/*.cpp
|
||||
src/common/dosyacc.c
|
||||
@@ -25,7 +30,7 @@ src/generic/*.inc
|
||||
|
||||
src/png/*.c
|
||||
src/png/*.h
|
||||
src/png/makefile.*
|
||||
src/png/makefile*
|
||||
src/png/INSTALL
|
||||
src/png/CHANGES
|
||||
src/png/README
|
||||
@@ -42,12 +47,14 @@ src/zlib/README
|
||||
src/zlib/ChangeLog
|
||||
src/zlib/configure
|
||||
src/zlib/*.txt
|
||||
src/zlib/makefile.*
|
||||
src/zlib/makefile*
|
||||
src/zlib/*.com
|
||||
src/zlib/*.3
|
||||
src/zlib/*.mms
|
||||
|
||||
include/wx/*.h
|
||||
include/wx/protocol/*.h
|
||||
include/wx/*.cpp
|
||||
include/wx/wx_setup.vms
|
||||
include/wx/common/*.h
|
||||
include/wx/generic/*.h
|
||||
@@ -69,9 +76,9 @@ bitmaps/ico/32x32/*.*
|
||||
afm/*.*
|
||||
|
||||
utils/*.txt
|
||||
utils/make*.*
|
||||
utils/make*
|
||||
|
||||
utils/xpmshow/src/makefile.*
|
||||
utils/xpmshow/src/makefile*
|
||||
utils/xpmshow/src/*.cpp
|
||||
utils/xpmshow/src/*.h
|
||||
utils/xpmshow/src/*.def
|
||||
@@ -82,8 +89,9 @@ utils/xpmshow/src/*.ico
|
||||
|
||||
utils/wxhelp/src/*.cpp
|
||||
utils/wxhelp/src/*.h
|
||||
utils/wxhelp/src/makefile.*
|
||||
utils/wxhelp/src/makefile*
|
||||
utils/wxhelp/src/*.xbm
|
||||
utils/wxhelp/src/*.xpm
|
||||
utils/wxhelp/src/*.txt
|
||||
utils/wxhelp/src/*.ico
|
||||
utils/wxhelp/src/*.def
|
||||
@@ -94,6 +102,7 @@ utils/tex2rtf/src/*.cpp
|
||||
utils/tex2rtf/src/*.h
|
||||
utils/tex2rtf/src/make*.*
|
||||
utils/tex2rtf/src/*.xbm
|
||||
utils/tex2rtf/src/*.xpm
|
||||
utils/tex2rtf/src/*.sty
|
||||
utils/tex2rtf/src/*.ini
|
||||
utils/tex2rtf/src/*.inf
|
||||
@@ -109,8 +118,9 @@ utils/tex2rtf/tools/tcheck/*.bat
|
||||
|
||||
utils/wxtree/src/*.cpp
|
||||
utils/wxtree/src/*.h
|
||||
utils/wxtree/src/makefile.*
|
||||
utils/wxtree/src/makefile*
|
||||
utils/wxtree/src/*.xbm
|
||||
utils/wxtree/src/*.xpm
|
||||
utils/wxtree/lib/dummy
|
||||
utils/wxtree/src/*.ico
|
||||
utils/wxtree/src/*.def
|
||||
@@ -119,8 +129,9 @@ utils/wxtree/src/*.rc
|
||||
utils/wxgraph/src/*.cpp
|
||||
utils/wxgraph/src/*.c
|
||||
utils/wxgraph/src/*.h
|
||||
utils/wxgraph/src/makefile.*
|
||||
utils/wxgraph/src/makefile*
|
||||
utils/wxgraph/src/*.xbm
|
||||
utils/wxgraph/src/*.xpm
|
||||
utils/wxgraph/lib/dummy
|
||||
utils/wxgraph/src/*.ico
|
||||
utils/wxgraph/src/*.def
|
||||
@@ -130,7 +141,7 @@ utils/mfutils/src/*.cpp
|
||||
utils/mfutils/src/*.h
|
||||
utils/mfutils/src/*.rc
|
||||
utils/mfutils/src/*.def
|
||||
utils/mfutils/src/makefile.*
|
||||
utils/mfutils/src/makefile*
|
||||
utils/mfutils/src/*.txt
|
||||
utils/mfutils/lib/dummy
|
||||
utils/mfutils/src/*.ico
|
||||
@@ -141,8 +152,9 @@ utils/mfutils/src/*.ico
|
||||
utils/rcparser/src/*.cpp
|
||||
utils/rcparser/src/*.c
|
||||
utils/rcparser/src/*.h
|
||||
utils/rcparser/src/makefile.*
|
||||
utils/rcparser/src/makefile*
|
||||
utils/rcparser/src/*.xbm
|
||||
utils/rcparser/src/*.xpm
|
||||
utils/rcparser/lib/dummy
|
||||
utils/rcparser/src/*.ico
|
||||
utils/rcparser/src/*.def
|
||||
@@ -153,28 +165,43 @@ utils/colours/*.h
|
||||
utils/colours/*.cpp
|
||||
utils/colours/*.def
|
||||
utils/colours/*.rc
|
||||
utils/colours/makefile.*
|
||||
utils/colours/makefile*
|
||||
utils/colours/*.xbm
|
||||
utils/colours/*.xpm
|
||||
utils/colours/*.txt
|
||||
|
||||
utils/serialize/*.h
|
||||
utils/serialize/*.cpp
|
||||
utils/serialize/*.def
|
||||
utils/serialize/*.rc
|
||||
utils/serialize/makefile*
|
||||
utils/serialize/*.xbm
|
||||
utils/serialize/*.xpm
|
||||
utils/serialize/*.txt
|
||||
|
||||
utils/wxprop/Makefile
|
||||
utils/wxprop/src/*.h
|
||||
utils/wxprop/src/*.cpp
|
||||
utils/wxprop/src/*.def
|
||||
utils/wxprop/src/*.rc
|
||||
utils/wxprop/src/makefile.*
|
||||
utils/wxprop/src/makefile*
|
||||
utils/wxprop/src/*.xbm
|
||||
utils/wxprop/src/*.xpm
|
||||
utils/wxprop/src/*.txt
|
||||
utils/wxprop/src/*.ico
|
||||
utils/wxprop/src/*.bmp
|
||||
utils/wxprop/lib/dummy
|
||||
|
||||
utils/dialoged/Makefile
|
||||
utils/dialoged/src/bitmaps/*.xbm
|
||||
utils/dialoged/src/bitmaps/*.xpm
|
||||
utils/dialoged/src/*.h
|
||||
utils/dialoged/src/*.cpp
|
||||
utils/dialoged/src/*.def
|
||||
utils/dialoged/src/*.rc
|
||||
utils/dialoged/src/makefile.*
|
||||
utils/dialoged/src/makefile*
|
||||
utils/dialoged/src/*.xbm
|
||||
utils/dialoged/src/*.xpm
|
||||
utils/dialoged/src/*.txt
|
||||
utils/dialoged/src/*.inf
|
||||
utils/dialoged/test/*.h
|
||||
@@ -186,42 +213,117 @@ utils/dialoged/src/bitmaps/*.ico
|
||||
utils/dialoged/test/*.cpp
|
||||
utils/dialoged/test/*.def
|
||||
utils/dialoged/test/*.rc
|
||||
utils/dialoged/test/makefile.*
|
||||
utils/dialoged/test/makefile*
|
||||
utils/dialoged/lib/dummy
|
||||
utils/dialoged/test/*.ico
|
||||
utils/dialoged/test/*.prj
|
||||
utils/dialoged/test/*.bmp
|
||||
|
||||
samples/*.txt
|
||||
samples/makefile.*
|
||||
utils/glcanvas/Makefile
|
||||
utils/glcanvas/win/*.h
|
||||
utils/glcanvas/win/*.cpp
|
||||
utils/glcanvas/win/*.def
|
||||
utils/glcanvas/win/*.rc
|
||||
utils/glcanvas/win/makefile*
|
||||
utils/glcanvas/win/*.xbm
|
||||
utils/glcanvas/win/*.xpm
|
||||
utils/glcanvas/win/*.txt
|
||||
utils/glcanvas/win/*.ico
|
||||
utils/glcanvas/win/*.bmp
|
||||
utils/glcanvas/src/*.h
|
||||
utils/glcanvas/src/*.cpp
|
||||
utils/glcanvas/src/*.def
|
||||
utils/glcanvas/src/*.rc
|
||||
utils/glcanvas/src/makefile*
|
||||
utils/glcanvas/src/*.xbm
|
||||
utils/glcanvas/src/*.xpm
|
||||
utils/glcanvas/src/*.txt
|
||||
utils/glcanvas/src/*.ico
|
||||
utils/glcanvas/src/*.bmp
|
||||
utils/glcanvas/samples/cube/*.h
|
||||
utils/glcanvas/samples/cube/*.cpp
|
||||
utils/glcanvas/samples/cube/*.def
|
||||
utils/glcanvas/samples/cube/*.rc
|
||||
utils/glcanvas/samples/cube/makefile*
|
||||
utils/glcanvas/samples/cube/*.xbm
|
||||
utils/glcanvas/samples/cube/*.xpm
|
||||
utils/glcanvas/samples/cube/*.txt
|
||||
utils/glcanvas/samples/cube/*.ico
|
||||
utils/glcanvas/samples/cube/*.bmp
|
||||
utils/glcanvas/samples/isosurf/*.h
|
||||
utils/glcanvas/samples/isosurf/*.cpp
|
||||
utils/glcanvas/samples/isosurf/*.def
|
||||
utils/glcanvas/samples/isosurf/*.rc
|
||||
utils/glcanvas/samples/isosurf/makefile*
|
||||
utils/glcanvas/samples/isosurf/*.xbm
|
||||
utils/glcanvas/samples/isosurf/*.xpm
|
||||
utils/glcanvas/samples/isosurf/*.txt
|
||||
utils/glcanvas/samples/isosurf/*.ico
|
||||
utils/glcanvas/samples/isosurf/*.bmp
|
||||
utils/glcanvas/samples/isosurf/*.gz
|
||||
utils/glcanvas/docs/*.tex
|
||||
utils/glcanvas/docs/*.txt
|
||||
utils/glcanvas/docs/*.bmp
|
||||
utils/glcanvas/docs/*.gif
|
||||
|
||||
samples/hello/*.cpp
|
||||
samples/hello/*.h
|
||||
samples/hello/*.def
|
||||
samples/hello/makefile.*
|
||||
samples/hello/*.xbm
|
||||
samples/hello/*.txt
|
||||
samples/hello/*.ico
|
||||
samples/hello/*.bmp
|
||||
samples/hello/*.rc
|
||||
samples/hello/*.wav
|
||||
samples/*.txt
|
||||
samples/makefile*
|
||||
|
||||
samples/config/*.cpp
|
||||
samples/config/*.h
|
||||
samples/config/*.def
|
||||
samples/config/makefile*
|
||||
samples/config/*.xbm
|
||||
samples/config/*.xpm
|
||||
samples/config/*.txt
|
||||
samples/config/*.ico
|
||||
samples/config/*.bmp
|
||||
samples/config/*.rc
|
||||
samples/config/*.wav
|
||||
|
||||
samples/dynamic/*.cpp
|
||||
samples/dynamic/*.h
|
||||
samples/dynamic/*.def
|
||||
samples/dynamic/makefile.*
|
||||
samples/dynamic/makefile*
|
||||
samples/dynamic/*.xbm
|
||||
samples/dynamic/*.xpm
|
||||
samples/dynamic/*.txt
|
||||
samples/dynamic/*.ico
|
||||
samples/dynamic/*.bmp
|
||||
samples/dynamic/*.rc
|
||||
samples/dynamic/*.wav
|
||||
|
||||
samples/wxsocket/*.cpp
|
||||
samples/wxsocket/*.h
|
||||
samples/wxsocket/*.def
|
||||
samples/wxsocket/makefile*
|
||||
samples/wxsocket/*.xbm
|
||||
samples/wxsocket/*.xpm
|
||||
samples/wxsocket/*.ico
|
||||
samples/wxsocket/*.rc
|
||||
|
||||
samples/help/*.cpp
|
||||
samples/help/*.h
|
||||
samples/help/*.def
|
||||
samples/help/makefile*
|
||||
samples/help/*.xbm
|
||||
samples/help/*.xpm
|
||||
samples/help/*.ico
|
||||
samples/help/*.rc
|
||||
samples/help/doc/*.html
|
||||
samples/help/doc/*.htm
|
||||
samples/help/doc/*.class
|
||||
samples/help/doc/*.db
|
||||
samples/help/doc/*.tex
|
||||
samples/help/doc/*.gif
|
||||
samples/help/doc/*.map
|
||||
|
||||
samples/bombs/*.cpp
|
||||
samples/bombs/*.h
|
||||
samples/bombs/*.def
|
||||
samples/bombs/makefile.*
|
||||
samples/bombs/makefile*
|
||||
samples/bombs/*.xbm
|
||||
samples/bombs/*.xpm
|
||||
samples/bombs/*.txt
|
||||
samples/bombs/*.ico
|
||||
samples/bombs/*.bmp
|
||||
@@ -230,19 +332,31 @@ samples/bombs/*.rc
|
||||
samples/ipc/*.cpp
|
||||
samples/ipc/*.h
|
||||
samples/ipc/*.def
|
||||
samples/ipc/makefile.*
|
||||
samples/ipc/makefile*
|
||||
samples/ipc/*.xbm
|
||||
samples/ipc/*.xpm
|
||||
samples/ipc/*.ico
|
||||
samples/ipc/*.rc
|
||||
|
||||
samples/types/*.cpp
|
||||
samples/types/*.h
|
||||
samples/types/*.def
|
||||
samples/types/*.rc
|
||||
samples/types/*.txt
|
||||
samples/types/makefile.*
|
||||
samples/types/*.xbm
|
||||
samples/types/*.ico
|
||||
samples/typetest/*.cpp
|
||||
samples/typetest/*.h
|
||||
samples/typetest/*.def
|
||||
samples/typetest/*.rc
|
||||
samples/typetest/*.txt
|
||||
samples/typetest/makefile*
|
||||
samples/typetest/*.xbm
|
||||
samples/typetest/*.xpm
|
||||
samples/typetest/*.ico
|
||||
|
||||
samples/sashtest/*.cpp
|
||||
samples/sashtest/*.h
|
||||
samples/sashtest/*.def
|
||||
samples/sashtest/*.rc
|
||||
samples/sashtest/*.txt
|
||||
samples/sashtest/makefile*
|
||||
samples/sashtest/*.xbm
|
||||
samples/sashtest/*.xpm
|
||||
samples/sashtest/*.ico
|
||||
|
||||
samples/resource/*.cpp
|
||||
samples/resource/*.h
|
||||
@@ -250,115 +364,105 @@ samples/resource/*.def
|
||||
samples/resource/*.rc
|
||||
samples/resource/*.txt
|
||||
samples/resource/*.wxr
|
||||
samples/resource/makefile.*
|
||||
samples/resource/makefile*
|
||||
samples/resource/*.xbm
|
||||
samples/resource/*.xpm
|
||||
samples/resource/*.ico
|
||||
|
||||
samples/animate/*.cpp
|
||||
samples/animate/*.h
|
||||
samples/animate/*.def
|
||||
samples/animate/makefile.*
|
||||
samples/animate/makefile*
|
||||
samples/animate/*.xbm
|
||||
samples/animate/*.xpm
|
||||
samples/animate/*.ico
|
||||
samples/animate/*.rc
|
||||
|
||||
samples/mdi/*.cpp
|
||||
samples/mdi/*.h
|
||||
samples/mdi/*.def
|
||||
samples/mdi/makefile.*
|
||||
samples/mdi/makefile*
|
||||
samples/mdi/*.xbm
|
||||
samples/mdi/*.xpm
|
||||
samples/mdi/*.ico
|
||||
samples/mdi/*.rc
|
||||
samples/mdi/bitmaps/*.bmp
|
||||
samples/mdi/bitmaps/*.ico
|
||||
samples/mdi/bitmaps/*.xpm
|
||||
samples/mdi/bitmaps/*.xbm
|
||||
|
||||
samples/minimal/*.cpp
|
||||
samples/minimal/*.h
|
||||
samples/minimal/*.def
|
||||
samples/minimal/makefile.*
|
||||
samples/minimal/makefile*
|
||||
samples/minimal/*.xbm
|
||||
samples/minimal/*.xpm
|
||||
samples/minimal/*.ico
|
||||
samples/minimal/*.rc
|
||||
|
||||
samples/controls/*.cpp
|
||||
samples/controls/*.h
|
||||
samples/controls/*.def
|
||||
samples/controls/makefile.*
|
||||
samples/controls/makefile*
|
||||
samples/controls/*.xbm
|
||||
samples/controls/*.xpm
|
||||
samples/controls/*.ico
|
||||
samples/controls/*.bmp
|
||||
samples/controls/*.rc
|
||||
samples/controls/icons/*
|
||||
|
||||
samples/fractal/*.cpp
|
||||
samples/fractal/*.h
|
||||
samples/fractal/*.def
|
||||
samples/fractal/makefile.*
|
||||
samples/fractal/makefile*
|
||||
samples/fractal/*.xbm
|
||||
samples/fractal/*.xpm
|
||||
samples/fractal/*.ico
|
||||
samples/fractal/*.rc
|
||||
|
||||
samples/layout/*.cpp
|
||||
samples/layout/*.h
|
||||
samples/layout/*.def
|
||||
samples/layout/makefile.*
|
||||
samples/layout/makefile*
|
||||
samples/layout/*.xbm
|
||||
samples/layout/*.xpm
|
||||
samples/layout/*.ico
|
||||
samples/layout/*.rc
|
||||
samples/layout/*.bmp
|
||||
samples/layout/*.xpm
|
||||
|
||||
samples/printing/*.cpp
|
||||
samples/printing/*.h
|
||||
samples/printing/*.def
|
||||
samples/printing/makefile.*
|
||||
samples/printing/makefile*
|
||||
samples/printing/*.xbm
|
||||
samples/printing/*.xpm
|
||||
samples/printing/*.txt
|
||||
samples/printing/*.ico
|
||||
samples/printing/*.bmp
|
||||
samples/printing/*.rc
|
||||
samples/printing/*.afm
|
||||
|
||||
samples/tbarsmpl/*.cpp
|
||||
samples/tbarsmpl/*.h
|
||||
samples/tbarsmpl/*.def
|
||||
samples/tbarsmpl/makefile.*
|
||||
samples/tbarsmpl/*.txt
|
||||
samples/tbarsmpl/*.xbm
|
||||
samples/tbarsmpl/bitmaps/*.xbm
|
||||
samples/tbarsmpl/*.ico
|
||||
samples/tbarsmpl/*.bmp
|
||||
samples/tbarsmpl/*.rc
|
||||
samples/tbarsmpl/bitmaps/*.bmp
|
||||
|
||||
samples/tbar95/*.cpp
|
||||
samples/tbar95/*.h
|
||||
samples/tbar95/*.def
|
||||
samples/tbar95/makefile.*
|
||||
samples/tbar95/*.txt
|
||||
samples/tbar95/*.xbm
|
||||
samples/tbar95/bitmaps/*.xbm
|
||||
samples/tbar95/*.ico
|
||||
samples/tbar95/*.bmp
|
||||
samples/tbar95/*.rc
|
||||
samples/tbar95/bitmaps/*.bmp
|
||||
|
||||
samples/tbarmsw/*.cpp
|
||||
samples/tbarmsw/*.h
|
||||
samples/tbarmsw/*.def
|
||||
samples/tbarmsw/makefile.*
|
||||
samples/tbarmsw/*.txt
|
||||
samples/tbarmsw/*.xbm
|
||||
samples/tbarmsw/bitmaps/*.xbm
|
||||
samples/tbarmsw/*.ico
|
||||
samples/tbarmsw/*.bmp
|
||||
samples/tbarmsw/*.rc
|
||||
samples/tbarmsw/bitmaps/*.bmp
|
||||
samples/toolbar/*.cpp
|
||||
samples/toolbar/*.h
|
||||
samples/toolbar/*.def
|
||||
samples/toolbar/makefile*
|
||||
samples/toolbar/*.txt
|
||||
samples/toolbar/*.xbm
|
||||
samples/toolbar/*.xpm
|
||||
samples/toolbar/bitmaps/*.xbm
|
||||
samples/toolbar/bitmaps/*.xpm
|
||||
samples/toolbar/*.ico
|
||||
samples/toolbar/*.bmp
|
||||
samples/toolbar/*.rc
|
||||
samples/toolbar/bitmaps/*.bmp
|
||||
|
||||
samples/docview/*.h
|
||||
samples/docview/*.cpp
|
||||
samples/docview/*.def
|
||||
samples/docview/*.rc
|
||||
samples/docview/makefile.*
|
||||
samples/docview/makefile*
|
||||
samples/docview/*.xbm
|
||||
samples/docview/*.xpm
|
||||
samples/docview/*.txt
|
||||
samples/docview/*.ico
|
||||
samples/docview/*.bmp
|
||||
@@ -367,8 +471,9 @@ samples/memcheck/*.h
|
||||
samples/memcheck/*.cpp
|
||||
samples/memcheck/*.def
|
||||
samples/memcheck/*.rc
|
||||
samples/memcheck/makefile.*
|
||||
samples/memcheck/makefile*
|
||||
samples/memcheck/*.xbm
|
||||
samples/memcheck/*.xpm
|
||||
samples/memcheck/*.txt
|
||||
samples/memcheck/*.ico
|
||||
samples/memcheck/*.bmp
|
||||
@@ -377,21 +482,22 @@ samples/odbc/*.h
|
||||
samples/odbc/*.cpp
|
||||
samples/odbc/*.def
|
||||
samples/odbc/*.rc
|
||||
samples/odbc/makefile.*
|
||||
samples/odbc/makefile*
|
||||
samples/odbc/*.inf
|
||||
samples/odbc/*.xbm
|
||||
samples/odbc/*.xpm
|
||||
samples/odbc/*.ico
|
||||
samples/odbc/*.bmp
|
||||
samples/odbc/*.dbf
|
||||
samples/odbc/*.cdx
|
||||
samples/odbc/odbc32.lib
|
||||
|
||||
samples/dialogs/*.h
|
||||
samples/dialogs/*.cpp
|
||||
samples/dialogs/*.def
|
||||
samples/dialogs/*.rc
|
||||
samples/dialogs/makefile.*
|
||||
samples/dialogs/makefile*
|
||||
samples/dialogs/*.xbm
|
||||
samples/dialogs/*.xpm
|
||||
samples/dialogs/*.txt
|
||||
samples/dialogs/*.bmp
|
||||
samples/dialogs/*.ico
|
||||
@@ -402,8 +508,9 @@ samples/wxpoem/*.def
|
||||
samples/wxpoem/*.rc
|
||||
samples/wxpoem/*.inf
|
||||
samples/wxpoem/*.txt
|
||||
samples/wxpoem/makefile.*
|
||||
samples/wxpoem/makefile*
|
||||
samples/wxpoem/*.xbm
|
||||
samples/wxpoem/*.xpm
|
||||
samples/wxpoem/*.ico
|
||||
samples/wxpoem/*.bmp
|
||||
samples/wxpoem/*.dat
|
||||
@@ -415,8 +522,9 @@ samples/pressup/*.def
|
||||
samples/pressup/*.rc
|
||||
samples/pressup/*.inf
|
||||
samples/pressup/*.txt
|
||||
samples/pressup/makefile.*
|
||||
samples/pressup/makefile*
|
||||
samples/pressup/*.xbm
|
||||
samples/pressup/*.xpm
|
||||
samples/pressup/*.ico
|
||||
samples/pressup/*.bmp
|
||||
|
||||
@@ -426,8 +534,9 @@ samples/validate/*.def
|
||||
samples/validate/*.rc
|
||||
samples/validate/*.inf
|
||||
samples/validate/*.txt
|
||||
samples/validate/makefile.*
|
||||
samples/validate/makefile*
|
||||
samples/validate/*.xbm
|
||||
samples/validate/*.xpm
|
||||
samples/validate/*.ico
|
||||
samples/validate/*.bmp
|
||||
|
||||
@@ -437,8 +546,9 @@ samples/events/*.def
|
||||
samples/events/*.rc
|
||||
samples/events/*.inf
|
||||
samples/events/*.txt
|
||||
samples/events/makefile.*
|
||||
samples/events/makefile*
|
||||
samples/events/*.xbm
|
||||
samples/events/*.xpm
|
||||
samples/events/*.ico
|
||||
samples/events/*.bmp
|
||||
|
||||
@@ -447,9 +557,11 @@ samples/treectrl/*.h
|
||||
samples/treectrl/*.def
|
||||
samples/treectrl/*.rc
|
||||
samples/treectrl/*.txt
|
||||
samples/treectrl/makefile.*
|
||||
samples/treectrl/makefile*
|
||||
samples/treectrl/*.xbm
|
||||
samples/treectrl/*.xpm
|
||||
samples/treectrl/bitmaps/*.xbm
|
||||
samples/treectrl/bitmaps/*.xpm
|
||||
samples/treectrl/*.ico
|
||||
samples/treectrl/*.bmp
|
||||
samples/treectrl/bitmaps/*.bmp
|
||||
@@ -460,9 +572,11 @@ samples/listctrl/*.h
|
||||
samples/listctrl/*.def
|
||||
samples/listctrl/*.rc
|
||||
samples/listctrl/*.txt
|
||||
samples/listctrl/makefile.*
|
||||
samples/listctrl/makefile*
|
||||
samples/listctrl/*.xbm
|
||||
samples/listctrl/*.xpm
|
||||
samples/listctrl/bitmaps/*.xbm
|
||||
samples/listctrl/bitmaps/*.xpm
|
||||
samples/listctrl/*.ico
|
||||
samples/listctrl/*.bmp
|
||||
samples/listctrl/bitmaps/*.bmp
|
||||
@@ -473,8 +587,9 @@ samples/splitter/*.h
|
||||
samples/splitter/*.def
|
||||
samples/splitter/*.rc
|
||||
samples/splitter/*.txt
|
||||
samples/splitter/makefile.*
|
||||
samples/splitter/makefile*
|
||||
samples/splitter/*.xbm
|
||||
samples/splitter/*.xpm
|
||||
samples/splitter/*.ico
|
||||
samples/splitter/*.bmp
|
||||
|
||||
@@ -483,8 +598,9 @@ samples/grid/*.h
|
||||
samples/grid/*.def
|
||||
samples/grid/*.rc
|
||||
samples/grid/*.txt
|
||||
samples/grid/makefile.*
|
||||
samples/grid/makefile*
|
||||
samples/grid/*.xbm
|
||||
samples/grid/*.xpm
|
||||
samples/grid/*.ico
|
||||
samples/grid/*.bmp
|
||||
|
||||
@@ -493,8 +609,9 @@ samples/internat/*.h
|
||||
samples/internat/*.def
|
||||
samples/internat/*.rc
|
||||
samples/internat/*.txt
|
||||
samples/internat/makefile.*
|
||||
samples/internat/makefile*
|
||||
samples/internat/*.xbm
|
||||
samples/internat/*.xpm
|
||||
samples/internat/*.po
|
||||
samples/internat/*.ico
|
||||
samples/internat/*.bmp
|
||||
@@ -505,36 +622,78 @@ samples/checklst/*.h
|
||||
samples/checklst/*.def
|
||||
samples/checklst/*.rc
|
||||
samples/checklst/*.txt
|
||||
samples/checklst/makefile.*
|
||||
samples/checklst/makefile*
|
||||
samples/checklst/*.xbm
|
||||
samples/checklst/*.xpm
|
||||
samples/checklst/*.ico
|
||||
samples/checklst/*.bmp
|
||||
|
||||
samples/dnd/*.cpp
|
||||
samples/dnd/*.h
|
||||
samples/dnd/makefile.*
|
||||
samples/dnd/makefile*
|
||||
samples/dnd/*.rc
|
||||
samples/dnd/*.def
|
||||
samples/dnd/*.bmp
|
||||
samples/dnd/*.xbm
|
||||
samples/dnd/*.xpm
|
||||
samples/dnd/*.ico
|
||||
samples/dnd/*.txt
|
||||
|
||||
samples/tab/*.cpp
|
||||
samples/tab/*.h
|
||||
samples/tab/makefile.*
|
||||
samples/tab/makefile*
|
||||
samples/tab/*.rc
|
||||
samples/tab/*.def
|
||||
samples/tab/*.bmp
|
||||
samples/tab/*.xbm
|
||||
samples/tab/*.xpm
|
||||
samples/tab/*.ico
|
||||
samples/tab/*.txt
|
||||
|
||||
samples/notebook/*.cpp
|
||||
samples/notebook/*.h
|
||||
samples/notebook/makefile*
|
||||
samples/notebook/*.rc
|
||||
samples/notebook/*.def
|
||||
samples/notebook/*.bmp
|
||||
samples/notebook/*.xbm
|
||||
samples/notebook/*.xpm
|
||||
samples/notebook/*.ico
|
||||
samples/notebook/*.txt
|
||||
|
||||
samples/png/*.cpp
|
||||
samples/png/*.h
|
||||
samples/png/makefile.*
|
||||
samples/png/makefile*
|
||||
samples/png/*.rc
|
||||
samples/png/*.def
|
||||
samples/png/*.bmp
|
||||
samples/png/*.xpm
|
||||
samples/png/*.xbm
|
||||
samples/png/*.ico
|
||||
samples/png/*.txt
|
||||
samples/png/*.png
|
||||
|
||||
samples/image/*.cpp
|
||||
samples/image/*.h
|
||||
samples/image/makefile*
|
||||
samples/image/*.rc
|
||||
samples/image/*.def
|
||||
samples/image/*.bmp
|
||||
samples/image/*.xpm
|
||||
samples/image/*.xbm
|
||||
samples/image/*.png
|
||||
samples/image/*.ico
|
||||
samples/image/*.txt
|
||||
|
||||
samples/thread/*.cpp
|
||||
samples/thread/*.h
|
||||
samples/thread/makefile*
|
||||
samples/thread/*.rc
|
||||
samples/thread/*.def
|
||||
samples/thread/*.bmp
|
||||
samples/thread/*.xpm
|
||||
samples/thread/*.xbm
|
||||
samples/thread/*.png
|
||||
samples/thread/*.ico
|
||||
samples/thread/*.txt
|
||||
|
||||
|
123
distrib/msw/gtk.rsp
Normal file
123
distrib/msw/gtk.rsp
Normal file
@@ -0,0 +1,123 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
TODO.txt
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
|
||||
docs/gtk/*.html
|
||||
docs/gtk/*.txt
|
||||
|
||||
include/wx/gtk/*.h
|
||||
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/*.inc
|
||||
|
||||
src/gtk/*.cpp
|
||||
src/gtk/*.c
|
||||
src/gtk/*.inc
|
||||
src/gtk/*.xbm
|
||||
|
||||
src/gdk_imlib/*.c
|
||||
src/gdk_imlib/*.h
|
||||
src/gdk_imlib/AUTHORS
|
||||
src/gdk_imlib/AUDIT
|
||||
src/gdk_imlib/COPYING.LIB
|
||||
src/gdk_imlib/README
|
||||
src/gdk_imlib/ChangeLog
|
||||
|
||||
src/iodbc/*.c
|
||||
src/iodbc/*.ci
|
||||
src/iodbc/*.h
|
||||
src/iodbc/IAFA-PACKAGE
|
||||
src/iodbc/README
|
||||
src/iodbc/*.exp
|
||||
src/iodbc/*.mk
|
||||
src/iodbc/autoconfig
|
||||
src/iodbc/build
|
||||
src/iodbc/Changes.log
|
||||
src/iodbc/postgres/*.h
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
misc/afm/*.afm
|
||||
misc/gs_afm/*.afm
|
||||
misc/imlib/imrc
|
||||
misc/imlib/*.pal
|
||||
|
||||
user/Makefile
|
||||
|
||||
user/wxConvert/*.cpp
|
||||
user/wxConvert/*.h
|
||||
user/wxConvert/Makefile
|
||||
user/wxConvert/Makefile.in
|
||||
|
||||
user/wxFile/*.cpp
|
||||
user/wxFile/*.h
|
||||
user/wxFile/Makefile
|
||||
user/wxFile/Makefile.in
|
||||
user/wxFile/*.xpm
|
||||
|
||||
user/wxTest/*.cpp
|
||||
user/wxTest/*.h
|
||||
user/wxTest/Makefile
|
||||
user/wxTest/Makefile.in
|
||||
user/wxTest/*.xpm
|
||||
user/wxTest/*.png
|
||||
|
||||
user/wxLayout/*.cpp
|
||||
user/wxLayout/*.h
|
||||
user/wxLayout/Makefile
|
||||
user/wxLayout/Makefile.in
|
||||
user/wxLayout/*.xpm
|
||||
user/wxLayout/*.png
|
||||
|
96
distrib/msw/motif.rsp
Normal file
96
distrib/msw/motif.rsp
Normal file
@@ -0,0 +1,96 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/*.inc
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
misc/afm/*.afm
|
||||
|
||||
src/motif/*.cpp
|
||||
src/motif/*.c
|
||||
src/motif/*.h
|
||||
src/motif/makefile*
|
||||
src/motif/*.inc
|
||||
src/motif/*.xbm
|
||||
src/motif/xmcombo/*.c
|
||||
src/motif/xmcombo/*.h
|
||||
src/motif/xmcombo/*.doc
|
||||
src/motif/xmcombo/*.man
|
||||
src/motif/xmcombo/*.txt
|
||||
src/motif/mdi/COPYRIGHT
|
||||
src/motif/mdi/Imakefile
|
||||
src/motif/mdi/Readme
|
||||
src/motif/mdi/config/C++.rules
|
||||
src/motif/mdi/config/MDI.tmpl
|
||||
src/motif/mdi/doc/*.html
|
||||
src/motif/mdi/doc/pics/*.gif
|
||||
src/motif/mdi/lib/*.C
|
||||
src/motif/mdi/lib/*.h
|
||||
src/motif/mdi/lib/*.xbm
|
||||
src/motif/mdi/lib/Imakefile
|
||||
src/motif/mdi/test/*.C
|
||||
src/motif/mdi/test/Imakefile
|
||||
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
|
||||
include/wx/motif/*.h
|
||||
|
||||
docs/motif/*.*
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
@@ -1,4 +1,8 @@
|
||||
docs/msw/*.txt
|
||||
docs/licence.txt
|
||||
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
|
||||
src/makeb32.env
|
||||
src/makebcc.env
|
||||
|
14
distrib/msw/stubs.rsp
Normal file
14
distrib/msw/stubs.rsp
Normal file
@@ -0,0 +1,14 @@
|
||||
src/stubs/*.cpp
|
||||
src/stubs/*.h
|
||||
src/stubs/makefile*
|
||||
src/stubs/*.inc
|
||||
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
|
||||
include/wx/stubs/*.h
|
||||
include/wx/stubs/*.rc
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
@@ -1,27 +1,33 @@
|
||||
@echo off
|
||||
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
|
||||
if "%1" == "" goto usage
|
||||
if "%2" == "" goto usage
|
||||
set src=d:\wx2\wxWindows
|
||||
set dest=%src\deliver
|
||||
if "%src" == "" goto usage
|
||||
if "%dest" == "" goto usage
|
||||
echo About to archive an external wxWindows distribution:
|
||||
echo From %1
|
||||
echo To %2\wx200gen.zip, %2\wx200doc.zip, %2\wx200msw.zip, %2\wx200ps.zip, %2\wx200hlp.zip, %2\wx200htm.zip, %2\wx200pdf.zip
|
||||
echo From %src
|
||||
echo To %dest
|
||||
echo CTRL-C if this is not correct.
|
||||
pause
|
||||
|
||||
erase %2\wx200*.zip
|
||||
erase %dest\wx200*.zip
|
||||
|
||||
cd %1
|
||||
cd %src
|
||||
echo Zipping...
|
||||
zip32 -@ %2\wx200gen.zip < %1\distrib\msw\generic.rsp
|
||||
zip32 -@ %2\wx200msw.zip < %1\distrib\msw\msw.rsp
|
||||
zip32 -@ %2\wx200doc.zip < %1\distrib\msw\docsrc.rsp
|
||||
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
|
||||
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
|
||||
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
||||
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
|
||||
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
|
||||
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
||||
|
||||
rem zip32 -@ %2\wx200ps.zip < %1\distrib\msw\wx_ps.rsp
|
||||
zip32 -@ %2\wx200hlp.zip < %1\distrib\msw\wx_hlp.rsp
|
||||
zip32 -@ %2\wx200htm.zip < %1\distrib\msw\wx_html.rsp
|
||||
zip32 -@ %2\wx200pdf.zip < %1\distrib\msw\wx_pdf.rsp
|
||||
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
||||
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
||||
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
|
||||
|
||||
cd %2
|
||||
zip32 -@ %dest\ogl3.zip < %src\utils\ogl\distrib\ogl.rsp
|
||||
|
||||
cd %dest
|
||||
|
||||
echo wxWindows archived.
|
||||
goto end
|
||||
|
481
docs/gtk/COPYING.LIB
Normal file
481
docs/gtk/COPYING.LIB
Normal file
@@ -0,0 +1,481 @@
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
@@ -1,11 +1,87 @@
|
||||
* General
|
||||
----------
|
||||
* The most simple case
|
||||
-----------------------
|
||||
|
||||
wxGTK uses GNU configure. If you have problems with your make use GNU
|
||||
make instead.
|
||||
If you compile wxWindows on Unix for the first time and don't like
|
||||
to read install instructions just do (in the base dir):
|
||||
|
||||
./configure --without-threads
|
||||
make
|
||||
|
||||
and drink 10 coffees. Then you may log in as root and type
|
||||
|
||||
make install
|
||||
|
||||
You can leave out the --without-threads option if you have a NEW
|
||||
Linux distribution based on glibc (e.g. RedHat 5.1 or Debian 2.0)
|
||||
or any other Unix that comes with Posix threads or SGI threads.
|
||||
|
||||
Now create your super-application myfoo.app and compile anywhere with
|
||||
|
||||
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
|
||||
|
||||
* General
|
||||
-----------------------
|
||||
|
||||
The Unix variants of wxWindows use GNU configure. If you have problems
|
||||
with your make use GNU make instead.
|
||||
|
||||
Read my homepage at
|
||||
|
||||
http://wesley.informatik.uni-freiburg.de/~wxxt
|
||||
|
||||
for newest information.
|
||||
|
||||
* GUI libraries
|
||||
-----------------------
|
||||
|
||||
wxWindows/GTK requires the GTK+ library to be installed on your system.
|
||||
It has to be a stable version, preferebly version 1.0.6. When using
|
||||
a version previous to 1.0.6 you'll get crashes here and there. This
|
||||
is certain to happen with colors in native widgets.
|
||||
|
||||
You can get the newest version of the GTK+ from the GTK homepage
|
||||
at
|
||||
http://www.gtk.org
|
||||
|
||||
We also mirror GTK+ 1.0.6 at our ftp site. You'll find information
|
||||
about downloading at my homepage.
|
||||
|
||||
* Additional libraries
|
||||
-----------------------
|
||||
|
||||
wxWindows/Gtk requires a thread library and X libraries
|
||||
known to work with threads. This is the case on all
|
||||
commercial Unix-Variants and all Linux-Versions that
|
||||
are based on glibc 2 except RedHat 5.0 which is broken
|
||||
in many aspects. As of writing this, these Linux
|
||||
distributions have correct glibc 2 support:
|
||||
|
||||
- RedHat 5.1
|
||||
- Debian 2.0
|
||||
- Stampede
|
||||
|
||||
The next major version of SuSE will also support glibc 2,
|
||||
but version 5.X does not. Also Caldera and Slackware
|
||||
don't yet support glibc 2.
|
||||
|
||||
On IRIX you can also use SGI threads if Posix-Threads
|
||||
are not present. The SGI threads will be detected by
|
||||
configure automatically.
|
||||
|
||||
You can always disable thread support by running
|
||||
|
||||
./configure "--without-threads"
|
||||
make clean
|
||||
make
|
||||
|
||||
NB: I included thread support in wxWindows/Gtk, as this
|
||||
problem will disappear in the near future when all major
|
||||
Linux Variants have moved to glibc 2. Also, the Linux
|
||||
Base Standard will include glibc 2.
|
||||
|
||||
* Create your configuration
|
||||
-----------------------------
|
||||
|
||||
Usage:
|
||||
./configure options
|
||||
|
||||
@@ -16,6 +92,21 @@ set environment variables CC and CCC as
|
||||
% setenv CCC CC
|
||||
% ./configure options
|
||||
|
||||
Using the SGI native compilers, it is recommended that you
|
||||
also set CFLAGS and CXXFLAGS before running configure. These
|
||||
should be set to :
|
||||
|
||||
CFLAGS="-mips3 -n32"
|
||||
CXXFLAGS="-mips3 -n32"
|
||||
|
||||
This is essential if you want to use the resultant binaries
|
||||
on any other machine than the one it was compiled on. If you
|
||||
have a 64bit machine (Octane) you should also do this to ensure
|
||||
you don't accidently build the libraries as 64bit (which is
|
||||
untested).
|
||||
|
||||
The SGI native compiler support has only been tested on Irix 6.5.
|
||||
|
||||
to see all the options please use:
|
||||
|
||||
./configure --help
|
||||
@@ -33,93 +124,83 @@ configure for.
|
||||
Configure will complain if the system variable OSTYPE has
|
||||
not been defined. And Make in some circumstances as well...
|
||||
|
||||
|
||||
* General options
|
||||
-------------------
|
||||
|
||||
Normally, you won't have to choose a toolkit, because when
|
||||
you download wxGTK, it will default to --with-gtk etc. But
|
||||
if you use all of our CVS repository you have to choose a
|
||||
toolkit. You must do this by running configure with either of:
|
||||
|
||||
--with-gtk Use the GIMP ToolKit (GTK)
|
||||
|
||||
--with-qt Use Qt from TrollTec
|
||||
|
||||
--with-motif Use either Motif or Lesstif
|
||||
Configure will look for both.
|
||||
|
||||
The following options handle the kind of library you want to build.
|
||||
|
||||
--with-shared Create shared libraries.
|
||||
--without-threads Compile without thread support.
|
||||
|
||||
--without-shared Do not create shared libraries.
|
||||
|
||||
--without-optimise Do not optimise the code.
|
||||
|
||||
--with-profile Add profiling info to the
|
||||
object files. Currently
|
||||
broken.
|
||||
--with-profile Add profiling info to the object
|
||||
files. Currently broken, I think.
|
||||
|
||||
--with-mem_tracing Add built-in memory tracing.
|
||||
Not yet.
|
||||
--with-mem_tracing Add built-in memory tracing.
|
||||
This doesn't work well with gcc.
|
||||
|
||||
--with-debug Add debug info to object
|
||||
files.
|
||||
--with-dmalloc Use the dmalloc memory debugger.
|
||||
Read more at www.letters.com/dmalloc/
|
||||
|
||||
--with-debug_info Add debug info to object files and
|
||||
executables.
|
||||
|
||||
--with-debug_flag Define __DEBUG__ and __WXDEBUG__ when
|
||||
compiling.
|
||||
|
||||
* Feature Options
|
||||
-------------------
|
||||
|
||||
When using the Windows version of wxWindows, it is possible
|
||||
to edit the file /include/wx/msw/setup.h in order to enable
|
||||
or disable some features of wxWindows so that the resulting
|
||||
binaries get smaller.
|
||||
|
||||
As I don't yet care for binary size and target mainly at
|
||||
producing a shared library, wxGTK's configure system auto-
|
||||
producing a shared library, wxWindows's configure system auto-
|
||||
matically enables all features, as long as they are already
|
||||
implemented.
|
||||
implemented. It is currently NOT possible to disable these
|
||||
options (in contrast to what configure tells you).
|
||||
|
||||
* Additional libraries
|
||||
-----------------------
|
||||
|
||||
[Note: Currently wxGTK will compile out-of-the-box
|
||||
with no extra libraries required. Support for
|
||||
OpenGl, threads, Python and hopefully ODBC
|
||||
support will soon be added.]
|
||||
|
||||
wxGTK requires the GTK (The Gimp Toolkit) to be installed,
|
||||
which probably makes sense.
|
||||
|
||||
There will be a few more features of wxGTK, which will
|
||||
require further libraries (on some platforms). These
|
||||
features will be optional. I hope to teach configure
|
||||
to check that out automatically.
|
||||
|
||||
Thread support:
|
||||
|
||||
Requires pthreads under Linux without glibc or glibc 2.
|
||||
|
||||
OpenGl:
|
||||
|
||||
Requires OpenGl or MesaGl.
|
||||
|
||||
Python scripting language support:
|
||||
|
||||
Requires Python.
|
||||
|
||||
* Compiling
|
||||
-------------
|
||||
|
||||
First you have to create all makefiles in all subdirectories:
|
||||
The following must be done in the base directory (e.g. ~/wxGTK
|
||||
or ~/wxWin or whatever)
|
||||
|
||||
make makefiles
|
||||
|
||||
Dependencies are generated automatically using
|
||||
|
||||
make depend
|
||||
|
||||
Now the makefiles are created you can compile everything is as simple
|
||||
as typing:
|
||||
Now the makefiles are created and you can compile everything
|
||||
by typing:
|
||||
|
||||
make
|
||||
|
||||
make yourself some coffee, as it will try to compile
|
||||
ALL the files in this distribution.
|
||||
make yourself some coffee, as it will try to compile ALL the
|
||||
files in this distribution. During compilation, you'll get
|
||||
a few warning messages.
|
||||
|
||||
if you want to be more selective:
|
||||
|
||||
make src will build only the base libraries
|
||||
make utils will build the utils
|
||||
make samples will build the samples
|
||||
make other will build the other samples
|
||||
make user will build the files in the directory other
|
||||
make other will build everything in other
|
||||
make user will build everything in user
|
||||
|
||||
Then you may install the library and it's header files under
|
||||
/usr/local/include/wx and /usr/local/lib respectively. You
|
||||
have to log in as root (i.e. run "su" and enter the root
|
||||
password) and type
|
||||
|
||||
make install
|
||||
|
||||
Depending on the configuration of some files, the libraries
|
||||
and binaries will be placed in different directories.
|
||||
The "global" binaries and libraries will be placed in:
|
||||
@@ -143,8 +224,34 @@ will do the work for you.
|
||||
* Creating a new Project
|
||||
--------------------------
|
||||
|
||||
I propose to put all contributed programs in the directory
|
||||
"user", with a directory of its own.
|
||||
There are two ways to create your own project:
|
||||
|
||||
1) The first way uses the installed libraries and header files
|
||||
automatically using wx-config
|
||||
|
||||
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
|
||||
|
||||
Using this way, a make file for the minimal sample would look
|
||||
like this
|
||||
|
||||
CC = g++
|
||||
|
||||
minimal: minimal.o
|
||||
$(CC) -o minimal minimal.o `wx-config --libs`
|
||||
|
||||
minimal.o: minimal.cpp mondrian.xpm
|
||||
$(CC) `wx-config --cflags` -c minimal.cpp -o minimal.o
|
||||
|
||||
clean:
|
||||
rm -f *.o minimal
|
||||
|
||||
This is certain to become the standard way unless we decide
|
||||
to sitch to tmake.
|
||||
|
||||
2) The other way creates a project within the source code
|
||||
directories of wxWindows: In this case I propose to put
|
||||
all contributed programs in the directory "/user", with a
|
||||
directory of its own.
|
||||
|
||||
This directory then should include the following files:
|
||||
|
||||
@@ -159,18 +266,19 @@ Makefile.in (This is the base application-Makefile template, from
|
||||
put ALL your source code along with all the other stuff you need for
|
||||
your application in this directory (subdirectories are welcome).
|
||||
|
||||
|
||||
** Something about Makefiles
|
||||
------------------------------
|
||||
|
||||
On general principle it should only contain ONE line, which is as follows:
|
||||
|
||||
include ../../src/gtk/setup/general/makeapp
|
||||
include ../../setup/general/makeapp
|
||||
|
||||
this will include all the necessary definitions for creating the applications
|
||||
|
||||
the only case where you might want to add another line is the following:
|
||||
this version of configure also supports creation of source archives of the
|
||||
application for easy distribution and updates to newer version of wxxt.
|
||||
application for easy distribution and updates to newer version of wxWindows.
|
||||
For this purpose all files in the application-directory will be put into
|
||||
a gziped tar-file in the full notation user/<your application>/*
|
||||
if you want to include some other files that you want "more visible", like
|
||||
@@ -183,15 +291,15 @@ to the Makefile.
|
||||
So it would look like this:
|
||||
|
||||
DISTRIBUTE_ADDITIONAL=README.TheApp
|
||||
include ../../src/gtk/setup/general/makeapp
|
||||
include ../../setup/general/makeapp
|
||||
|
||||
As we have already talked about distribution the command to create a
|
||||
distribution is:
|
||||
|
||||
make distrib
|
||||
|
||||
NOTE: If you are in the base directory of wxxt it will create
|
||||
distribution packages for wxxt as well as for all packages in the
|
||||
NOTE: If you are in the base directory of wxWindows it will create
|
||||
distribution packages for wxWindows as well as for all packages in the
|
||||
user directory.
|
||||
So if you want to create only packages for the files in user,
|
||||
then go to the directory other and type:
|
||||
@@ -203,7 +311,7 @@ enter the specific directory and type there:
|
||||
make distrib
|
||||
|
||||
All the distribution files will be put in the directory
|
||||
distrib at the base of the wxxt-tree (where also configure
|
||||
distrib at the base of the wxWindows-tree (where also configure
|
||||
and template.mak can be found).
|
||||
|
||||
** Something about Makefile.in
|
||||
@@ -219,7 +327,7 @@ These rules should go AFTER the include statement!!!
|
||||
|
||||
so the general header looks like this:
|
||||
|
||||
# wxGTK base directory
|
||||
# wxWindows base directory
|
||||
WXBASEDIR=@WXBASEDIR@
|
||||
# set the OS type for compilation
|
||||
OS=@OS@
|
56
docs/gtk/licence.txt
Normal file
56
docs/gtk/licence.txt
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
|
||||
wxWindows Library License, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 1998 Julian Smart, Robert Roebling et al.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
WXWINDOWS LIBRARY LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
|
||||
TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licensed under the wxWindows Library License, applying
|
||||
either version 3 of the License, or (at your option) any later version of
|
||||
the License as published by the copyright holders of version 3 of the
|
||||
License document.
|
||||
|
||||
2. The exception is that you may create binary object code versions of any
|
||||
works using this library or based on this library, and use, copy, modify,
|
||||
link and distribute such binary object code files unrestricted under terms
|
||||
of your choice.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public License or the GNU Library General Public License into a
|
||||
copy of this library, as this license permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
|
||||
|
36
docs/gtk/readme.txt
Normal file
36
docs/gtk/readme.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
Welcome to wxWindows/Gtk,
|
||||
|
||||
you have downloaded version 1.96 of the GTK+ port of C++ library
|
||||
wxWindows. Information on how to install can be found in the
|
||||
file install.txt, but if you cannot wait, this should work on
|
||||
all systems
|
||||
|
||||
configure --without-threads
|
||||
make
|
||||
su (PASSWORD)
|
||||
make install
|
||||
|
||||
wxWindows/Gtk is still in development and you can have a look
|
||||
at the todo.txt to see what's missing before an official beta
|
||||
and - more important - before we can aim at binary compatibility.
|
||||
|
||||
More information is available from my homepage at
|
||||
|
||||
http://wesley.informatik.uni-freiburg.de/~wxxt
|
||||
|
||||
Please send problems concerning installation, feature requests,
|
||||
bug reports or comments to either the wxGTK mailing list or to
|
||||
the wxWindows developers list. Information on how to subscribe
|
||||
is available from my homepage.
|
||||
|
||||
wxWindows/Gtk comes with no guarantee whatsoever. It might crash
|
||||
your harddisk or destroy your monitor. It doesn't claim to be
|
||||
suitable for any special purpose.
|
||||
|
||||
Regards,
|
||||
|
||||
Robert Roebling
|
||||
|
||||
|
||||
|
38
docs/gtk/todo.txt
Normal file
38
docs/gtk/todo.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
-------------------- High priority ---------------------
|
||||
|
||||
wxTreeCtrl
|
||||
-> Keyboard handling.
|
||||
|
||||
wxClipboard
|
||||
-> On the way, but not functional yet.
|
||||
|
||||
Fix printing of bitmaps
|
||||
-> No idea.
|
||||
|
||||
OwnerDraw for wxListCtrl and others
|
||||
-> That is a big one.
|
||||
|
||||
DnD
|
||||
-> Must be rewritten for GTK+ 1.1.3
|
||||
|
||||
-------------------- Low priority ---------------------
|
||||
|
||||
wxDebugContext <-> wxLogXXX functions
|
||||
-> Remove either
|
||||
|
||||
Implement wxPalette
|
||||
-> I never understood that. Postponed.
|
||||
|
||||
Implement wxDirDialog
|
||||
-> Not heard of. Postponed.
|
||||
|
||||
Show accelerator in menus
|
||||
-> Changed in GTK 1.1.X. Postponed.
|
||||
|
||||
Correct tab navigation
|
||||
-> seems to be broken in GTK. Postponed.
|
||||
|
||||
Cooperation with Qt
|
||||
-> Would be nice.
|
||||
|
@@ -1,5 +1,4 @@
|
||||
[OPTIONS]
|
||||
BMROOT=d:\wx2\wxwind~1\docs\latex\porting ; Assume that bitmaps are where the source is
|
||||
TITLE=wxWindows Porting Guide
|
||||
CONTENTS=Contents
|
||||
COMPRESS=HIGH
|
||||
|
@@ -11,7 +11,7 @@ headerRule = yes
|
||||
footerRule = yes
|
||||
useHeadingStyles = yes
|
||||
listItemIndent=40
|
||||
generateHPJ = yes
|
||||
generateHPJ = no
|
||||
htmlBrowseButtons = bitmap
|
||||
winHelpContents = yes
|
||||
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
|
||||
|
190
docs/latex/wx/accel.tex
Normal file
190
docs/latex/wx/accel.tex
Normal file
@@ -0,0 +1,190 @@
|
||||
\section{\class{wxAcceleratorEntry}}\label{wxacceleratorentry}
|
||||
|
||||
An object used by an application wishing to create an \helpref{accelerator table}{wxacceleratortable}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorTable}{wxacceleratortable}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorEntry::wxAcceleratorEntry}\label{wxacceleratorentryconstr}
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetCommand}\label{wxacceleratorentrygetcommand}
|
||||
|
||||
\constfunc{int}{GetCommand}{\void}
|
||||
|
||||
Returns the command identifier for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetFlags}\label{wxacceleratorentrygetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetKeyCode}\label{wxacceleratorentrygetkeycode}
|
||||
|
||||
\constfunc{int}{GetKeyCode}{\void}
|
||||
|
||||
Returns the keycode for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::Set}\label{wxacceleratorentryset}
|
||||
|
||||
\func{void}{Set}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Sets the accelerator entry parameters.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\section{\class{wxAcceleratorTable}}\label{wxacceleratortable}
|
||||
|
||||
An accelerator table allows the application to specify a table of keyboard shortcuts for
|
||||
menus or other commands. On Windows, menu or button commands are supported; on GTK,
|
||||
only menu commands are supported.
|
||||
|
||||
The object {\bf wxNullAcceleratorTable} is defined to be a table with no data, and is the
|
||||
initial accelerator table for a window.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
{\small%
|
||||
\begin{verbatim}
|
||||
wxAcceleratorEntry entries[4];
|
||||
entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
|
||||
entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
|
||||
entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
|
||||
entries[3].Set(wxACCEL_NONE, WXK_DELETE, wxID_CUT);
|
||||
wxAcceleratorTable accel(4, entries);
|
||||
frame->SetAcceleratorTable(accel);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
An accelerator takes precedence over normal processing and can be a convenient way to program some event handling.
|
||||
For example, you can use an accelerator table to enable a dialog with a multi-line text control to
|
||||
accept CTRL-Enter as meaning 'OK' (but not in GTK at present).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorEntry}{wxacceleratorentry}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorTable::wxAcceleratorTable}\label{wxacceleratortableconstr}
|
||||
|
||||
\func{}{wxAcceleratorTable}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
|
||||
|
||||
Copy constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{int}{ n}, \param{wxAcceleratorEntry}{ entries[]}}
|
||||
|
||||
Creates from an array of \helpref{wxAcceleratorEntry}{wxacceleratorentry} objects.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxString\&}{ resource}}
|
||||
|
||||
Loads the accelerator table from a Windows resource (Windows only).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{n}{Number of accelerator entries.}
|
||||
|
||||
\docparam{entries}{The array of entries.}
|
||||
|
||||
\docparam{resource}{Name of a Windows accelerator.}
|
||||
|
||||
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
|
||||
|
||||
\func{}{\destruct{wxAcceleratorTable}}{\void}
|
||||
|
||||
Destroys the wxAcceleratorTable object.
|
||||
|
||||
\membersection{wxAcceleratorTable::Ok}\label{wxacceleratortableok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if the accelerator table is valid.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $=$}
|
||||
|
||||
\func{wxAcceleratorTable\& }{operator $=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Assignment operator. This operator does not copy any data, but instead
|
||||
passes a pointer to the data in {\it accel} and increments a reference
|
||||
counter. It is a fast operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to assign.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 'this' object.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $==$}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Equality operator. This operator tests whether the internal data pointers are
|
||||
equal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were effectively equal, FALSE otherwise.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $!=$}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Inequality operator. This operator tests whether the internal data pointers are
|
||||
unequal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were unequal, FALSE otherwise.
|
||||
|
||||
|
@@ -38,7 +38,7 @@ or a frame becomes inactivate resulting in all application frames being inactive
|
||||
|
||||
\membersection{wxActivateEvent::wxActivateEvent}
|
||||
|
||||
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{int }{id = 0}}
|
||||
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{bool}{ active = TRUE}, \param{int }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
|
@@ -238,6 +238,32 @@ goes idle again, when OnIdle is called, and so on.
|
||||
\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp
|
||||
\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents}
|
||||
|
||||
\membersection{wxApp::OnEndSession}\label{wxapponendsession}
|
||||
|
||||
\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. The application has a chance to silently save information,
|
||||
and can optionally close itself.
|
||||
|
||||
Use the EVT\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument
|
||||
(forcing the application to close itself silently).
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnEndSession is called in response to the 'die' event.
|
||||
|
||||
Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
|
||||
|
||||
\membersection{wxApp::OnInit}\label{wxapponinit}
|
||||
|
||||
\func{bool}{OnInit}{\void}
|
||||
@@ -247,16 +273,43 @@ application's main window, calling \helpref{wxApp::SetTopWindow}{wxappsettopwind
|
||||
|
||||
Return TRUE to continue processing, FALSE to exit the application.
|
||||
|
||||
\membersection{wxApp::Pending}\label{wxapppending}
|
||||
\membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession}
|
||||
|
||||
\func{bool}{Pending}{\void}
|
||||
\func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
|
||||
Returns TRUE if unprocessed events are in the window system event queue
|
||||
(MS Windows and Motif).
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. Typically, an application will try to save unsaved documents
|
||||
at this point.
|
||||
|
||||
If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application
|
||||
is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}.
|
||||
The application might veto the shutdown after prompting for documents to be saved, and the
|
||||
user has cancelled the save.
|
||||
|
||||
Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
You should check whether the application is forcing the deletion of the window
|
||||
using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
|
||||
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
|
||||
If not, it is up to you whether you respond by destroying the window.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window,
|
||||
and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnQueryEndSession is called in response to the 'save session' event.
|
||||
|
||||
Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::Dispatch}{wxappdispatch}
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession}
|
||||
|
||||
\membersection{wxWindow::OnScroll}\label{wxwindowonscroll}
|
||||
|
||||
\membersection{wxApp::ProcessMessage}\label{wxappprocessmessage}
|
||||
|
||||
@@ -282,6 +335,17 @@ BOOL CTheApp::PreTranslateMessage(MSG *msg)
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxApp::Pending}\label{wxapppending}
|
||||
|
||||
\func{bool}{Pending}{\void}
|
||||
|
||||
Returns TRUE if unprocessed events are in the window system event queue
|
||||
(MS Windows and Motif).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::Dispatch}{wxappdispatch}
|
||||
|
||||
\membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents}
|
||||
|
||||
\func{bool}{SendIdleEvents}{\void}
|
||||
|
@@ -30,6 +30,14 @@ provided bitmaps.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxButton}{wxbutton}
|
||||
|
@@ -6,14 +6,14 @@
|
||||
\section{What is wxWindows?}
|
||||
|
||||
wxWindows is a C++ framework providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. It currently
|
||||
supports subsets of Motif, Xt and MS Windows (16-bit, Windows 95 and Windows NT).
|
||||
Interface) and other facilities on more than one platform. Version 2.0 currently
|
||||
supports subsets MS Windows (16-bit, Windows 95 and Windows NT) and GTK.
|
||||
|
||||
wxWindows was originally developed at the Artificial Intelligence
|
||||
Applications Institute, University of Edinburgh, for internal use.
|
||||
wxWindows has been released into the public domain in the hope
|
||||
that others will also find it useful. Version 2.0 is written and
|
||||
maintained by Julian Smart 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
|
||||
development.\helpignore{For more detail on the wxWindows version 2.0 API
|
||||
@@ -55,8 +55,8 @@ that are often indistinguishable from those produced using single-platform
|
||||
toolkits
|
||||
such as Motif and MFC.
|
||||
|
||||
wxWindows 2.0 currently maps to two native APIs: Motif and
|
||||
MS Windows. An Xt port is also in preparation.
|
||||
wxWindows 2.0 currently maps to two native APIs: GTK and
|
||||
MS Windows. Motif, Xt and Mac ports are also in preparation.
|
||||
|
||||
The importance of using a platform-independent class library cannot be
|
||||
overstated, since GUI application development is very time-consuming,
|
||||
@@ -79,17 +79,17 @@ here are some of the benefits:
|
||||
\item Low cost (free, in fact!)
|
||||
\item You get the source.
|
||||
\item Several example programs.
|
||||
\item Over 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 Graphics calls include splines, polylines, rounded rectangles, etc.
|
||||
\item Constraint-based layout option.
|
||||
\item Print/preview and document/view architectures.
|
||||
\item Status line facility, toolbar
|
||||
\item Easy, object-oriented interprocess comms (DDE subset) under UNIX and
|
||||
\item Easy, object-oriented interprocess comms (DDE subset) under Unix and
|
||||
MS Windows.
|
||||
\item Encapsulated PostScript generation under UNIX, normal MS Windows printing on the
|
||||
\item Encapsulated PostScript generation under Unix, normal MS Windows printing on the
|
||||
PC.
|
||||
\item MDI support under Windows.
|
||||
\item MDI support under Windows and GTK.
|
||||
\item Can be used to create DLLs under Windows, dynamic libraries on the Sun.
|
||||
\item Common dialogs for file browsing, printing, colour selection, etc.
|
||||
\item Under MS Windows, support for creating metafiles and copying
|
||||
@@ -171,18 +171,16 @@ following setups.
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item A 486 or higher PC running MS Windows.
|
||||
\item One of Microsoft Visual C++, Borland C++, Watcom C++, MetroWerks C++,
|
||||
Symantec C++, GNU-WIN32.
|
||||
\item At least 30 MB of disk space.
|
||||
\item One of Microsoft Visual C++ 4.0 or higher, Borland C++, Gnu-Win32.
|
||||
\item At least 60 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
(b) UNIX:
|
||||
(b) Unix:
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item Almost any C++ compiler, including GNU C++.
|
||||
\item Almost any UNIX workstation (VMS is supported too) and Motif 1.2 or higher (not necessary
|
||||
for the Xt version)
|
||||
\item At least 30 MB of disk space.
|
||||
\item Almost any Unix workstation, and GTK 1.0 or higher.
|
||||
\item At least 60 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
\section{Availability and location of wxWindows}
|
||||
@@ -197,35 +195,26 @@ Applications Institute by anonymous FTP and World Wide Web:
|
||||
|
||||
\section{Acknowledgments}
|
||||
|
||||
Thanks are due to the AIAI for being willing to release wxWindows into
|
||||
the public domain, and to our patient wives Harriet and Tanja.
|
||||
Thanks are due to AIAI for being willing to release the original version of
|
||||
wxWindows into the public domain, and to our patient wives Harriet, Tanja and others.
|
||||
|
||||
The Internet has been an essential prop when coming up against tricky
|
||||
problems. Thanks to those who answered our
|
||||
queries or submitted bug fixes and enhancements; wxWindows is very
|
||||
much a team effort.
|
||||
|
||||
Hermann Dunkel contributed XPM support; Arthur Seaton wrote the memory
|
||||
checking code; Olaf Klein and Patrick Halke wrote the ODBC classes;
|
||||
Harri Pasanen and Robin Dunn wrote wxPython and contributed to the
|
||||
wxExtend library.
|
||||
|
||||
Markus Holzem write the Xt port. Jonathan Tonberg, Bill Hale,
|
||||
Cecil Coupe, Thomaso Paoletti, Thomas Fettig, and others slaved away
|
||||
writing the Mac port. Keith Gary Boyce ported wxWindows to the free
|
||||
GNU-WIN32 compiler, refusing to give up when shortcuts were suggested.
|
||||
|
||||
Many thanks also to: Timothy Peters, Jamshid Afshar, Patrick Albert, C. Buckley,
|
||||
Robin Corbet, Harco de Hilster, Josep Fortiana, Torsten Liermann, Tatu
|
||||
M\"{a}nnist\"{o}, Ian Perrigo, Giordano Pezzoli, Petr Smilauer, Neil Smith,
|
||||
Kari Syst\"{a}, Jyrki Tuomi, Edward Zimmermann, Ian Brown, and many
|
||||
others.
|
||||
We would particularly like to thank the following for their contributions to wxWindows, and the many others who have been involved in
|
||||
the project over the years. Apologies for any unintentional omissions from this list.
|
||||
|
||||
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
|
||||
Gary Boyce, Chris Breeze, Pete Britton, Ian Brown, C. Buckley, Dmitri Chubraev, Robin Corbet, Cecil Coupe, Andrew Davison, Neil Dudman, Robin
|
||||
Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, Dominic Gallagher,
|
||||
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
|
||||
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
|
||||
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
||||
Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
|
||||
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
|
||||
|
||||
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
|
||||
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
||||
been used in wxGraphLayout with his permission.
|
||||
|
||||
We also acknowledge the author of XFIG, the excellent UNIX drawing tool,
|
||||
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
|
||||
from the source of which we have borrowed some spline drawing code.
|
||||
His copyright is included below.
|
||||
|
||||
@@ -250,7 +239,7 @@ changes.txt for differences between versions.
|
||||
|
||||
\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.
|
||||
|
||||
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}
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx_prec.h"
|
||||
#include <wx/wxprec.h>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#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
|
||||
|
||||
... now your other include files ...
|
||||
\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,
|
||||
and several Windows compilers to use precompilation (those tested are Microsoft Visual C++, Borland C++
|
||||
and Watcom C++).
|
||||
|
||||
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx\_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 .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.
|
||||
@@ -287,14 +277,14 @@ multi-megabyte .pch files.
|
||||
|
||||
\section{Libraries}
|
||||
|
||||
Under UNIX, use the library libwx\_motif.a
|
||||
(Motif). Under Windows, use the library wx.lib for stand-alone Windows
|
||||
Please the wxGTK documentation for use of the Unix version of wxWindows.
|
||||
Under Windows, use the library wx.lib for stand-alone Windows
|
||||
applications, or wxdll.lib for creating DLLs.
|
||||
|
||||
\section{Configuration}
|
||||
|
||||
The following lists the options configurable in the file
|
||||
\rtfsp{\tt 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
|
||||
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\_DYNAMIC\_CLASSES}{If 1, the run-time class macros and classes are compiled. Recommended,
|
||||
and necessary for the document/view framework.}
|
||||
\twocolitem{USE\_EXTENDED\_STATICS}{If 1, wxStaticItem code is compiled for enhanced panel decorative items.
|
||||
Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_HELP}{If 1, interface to help system is compiled.}
|
||||
\twocolitem{USE\_GAUGE}{If 1, the wxGauge class compiled.}
|
||||
\twocolitem{USE\_GLOBAL\_MEMORY\_OPERATORS}{If 1, redefines global new and delete operators to be compatible
|
||||
with the extended arguments of the debugging wxObject new and delete operators. If this causes problems
|
||||
for your compiler, set to 0.}
|
||||
\twocolitem{USE\_GNU\_WXSTRING}{If 1, the enhanced GNU wxString and regular expression class are compiled
|
||||
in place of the normal wxString class. See contrib/wxstring for details.}
|
||||
\twocolitem{USE\_IMAGE\_LOADING\_IN\_MSW}{Use code to allow dynamic .BMP loading
|
||||
under MS Windows.}
|
||||
\twocolitem{USE\_IMAGE\_LOADING\_IN\_X}{Use code in utils/image to allow dynamic .BMP/.GIF loading
|
||||
under X.}
|
||||
\twocolitem{USE\_RESOURCE\_LOADING\_IN\_MSW}{Use code to allow dynamic .ICO/.CUR loading
|
||||
under MS Windows.}
|
||||
\twocolitem{USE\_IPC}{If 1, interprocess communication code is compiled.}
|
||||
\twocolitem{USE\_MEMORY\_TRACING}{If 1, enables debugging versions of wxObject::new and wxObject::delete
|
||||
if the value of DEBUG is defined to more than 0.}
|
||||
\twocolitem{USE\_METAFILE}{If 1, Windows Metafile code is compiled.}
|
||||
\twocolitem{USE\_PANEL\_IN\_PANEL}{If 1, experimental panel-in-panel code is used
|
||||
for common dialog boxes. Not recommended, since tab traversal can suffer.}
|
||||
\twocolitem{USE\_POSTSCRIPT}{If 1, PostScript code is compiled.}
|
||||
\twocolitem{USE\_POSTSCRIPT\_ARCHITECTURE\_IN\_MSW}{Set to 1 to enable the printing architecture
|
||||
to make use of either native Windows printing facilities, or the wxPostScriptDC class depending
|
||||
@@ -334,32 +312,7 @@ on the wxApp::SetPrintMode setting.}
|
||||
\twocolitem{USE\_PRINTING\_ARCHITECTURE}{If 1, wxPrinter, wxPrintout and related classes are compiled
|
||||
for the print/preview framework.}
|
||||
\twocolitem{USE\_RESOURCES}{If 1, win.ini or .Xdefaults-style resource read/write code is compiled.}
|
||||
\twocolitem{USE\_SCROLLBAR}{If 1, wxScrollBar class is compiled. Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_SPLINES}{If 1, spline code is compiled.}
|
||||
\twocolitem{USE\_TOOLBAR}{If 1, the wxToolBar class is compiled.}
|
||||
\twocolitem{USE\_TYPEDEFS}{If 1, a typedef will be used for wxPoint instead of
|
||||
a class declaration, to reduce overhead and avoid a Microsoft C++ memory bug.}
|
||||
\twocolitem{USE\_VLBOX}{If 1, wxVirtListBox code is compiled for a virtual listbox item.
|
||||
Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_WX\_RESOURCES}{If 1, wxWindows resource file (.WXR) code is compiled.}
|
||||
\twocolitem{USE\_XFIG\_SPLINE\_CODE}{If 1, XFig-derived code is used for spline
|
||||
drawing. If 0, AIAI code is used, which is slower.}
|
||||
\twocolitem{USE\_XPM\_IN\_X}{If 1, XPM (colour pixmap) facilities will be compiled and used
|
||||
in wxBitmap under X.}
|
||||
\twocolitem{USE\_XPM\_IN\_MSW}{If 1, XPM (colour pixmap) facilities will be compiled and used
|
||||
in wxBitmap under MS Windows.}
|
||||
\end{twocollist}
|
||||
|
||||
\subsection{X features}
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{DEFAULT\_FILE\_SELECTOR\_SIZE}{Let Motif choose the size of
|
||||
XmFileSelectionBox. Otherwise, size is 500x600.}
|
||||
\twocolitem{PIXEL0\_DISABLE}{Define to disallow allocation of pixel 0 (wxXOR problem).}
|
||||
\twocolitem{USE\_GADGETS}{Use gadgets where possible rather than Widgets for items.
|
||||
Default is to use Gadgets.}
|
||||
\twocolitem{USE\_BUTTON\_GADGET}{Use gadgets for buttons. This can intefere with
|
||||
default button selection, so the default is zero.}
|
||||
\end{twocollist}
|
||||
|
||||
\subsection{Windows and NT features}
|
||||
@@ -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
|
||||
or ctl3d32.lib. Define CTL3D to be 1 in wx\_setup.h and link your executables with ctl3dv2.lib
|
||||
or ctl3d32.lib.}
|
||||
\twocolitem{USE\_ITSY\_BITSY}{If 1, compiles in code to support tiny window titlebars.}
|
||||
\twocolitem{USE\_ODBC}{If 1, compiles wxDatabase and wxRecordSet classes for ODBC
|
||||
access. Requires sql.h, sqlext.h files if set to 1 (see topic on database support).}
|
||||
\end{twocollist}
|
||||
|
||||
\section{Makefiles}
|
||||
|
||||
At the moment there is no attempt to make UNIX makefiles and
|
||||
At the moment there is no attempt to make Unix makefiles and
|
||||
PC makefiles compatible, i.e. one makefile is required for
|
||||
each environment.
|
||||
|
||||
Sample makefiles for UNIX (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
|
||||
Sample makefiles for Unix (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
|
||||
C++ (.BCC) and Symantec C++ (.SC) are included for the library, demos
|
||||
and utilities. The NT, Borland and Symantec makefiles cannot be
|
||||
guaranteed to be up-to-date since the author does not have
|
||||
@@ -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
|
||||
the library, if building a library.
|
||||
|
||||
\subsection{UNIX makefiles}
|
||||
\subsection{Unix makefiles}
|
||||
|
||||
TODO.
|
||||
|
||||
Debugging information is included by default; you may add DEBUG= as an
|
||||
argument to make to compile without it, or use the UNIX {\bf strip}
|
||||
argument to make to compile without it, or use the Unix {\bf strip}
|
||||
command to remove debugging information from an executable.
|
||||
|
||||
\normalbox{{\it Important note:} Most compiler flags are kept centrally in
|
||||
@@ -426,7 +378,7 @@ The least that must be defined in the Windows resource file (extension RC)
|
||||
is the following statement:
|
||||
|
||||
\begin{verbatim}
|
||||
rcinclude wx.rc
|
||||
rcinclude "wx/msw/wx.rc"
|
||||
\end{verbatim}
|
||||
|
||||
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}
|
||||
|
||||
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}
|
||||
NAME Hello
|
||||
@@ -461,46 +414,6 @@ STACKSIZE 8192
|
||||
The only lines which will usually have to be changed per application are
|
||||
NAME and DESCRIPTION.
|
||||
|
||||
\section{Memory models and memory allocation}\label{memorymodels}
|
||||
|
||||
Under UNIX, memory allocation isn't a problem. Under Windows, the only
|
||||
really viable way to go is to use the large model, which uses the global
|
||||
heap instead of the local heap for memory allocation. Unless more than
|
||||
one read-write data segment is used,% (see \helpref{large data}{largedata}
|
||||
large model programs may still have multiple instances under MS
|
||||
C/C++ 7. Microsoft give the following guidelines for producing
|
||||
multiple-instance large model programs:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Do not use {\tt /ND} to name extra data segments unless the segment is READONLY.
|
||||
\item Use the .DEF file to mark extra data segments READONLY.
|
||||
\item Do not use \_\_far or FAR to mark data items.
|
||||
\item Use {\tt /PACKDATA} to combine data segments.
|
||||
\item Use {\tt /Gt65500 /Gx} to force all data into the default data segment.
|
||||
\end{itemize}
|
||||
|
||||
Even with the single-instance limitation, the productivity benefit is
|
||||
worth it in the majority of cases. Note that some other multi-platform
|
||||
class libraries also have this restriction. (If more than one instance
|
||||
really is required, create several copies of the program with different
|
||||
names.)
|
||||
|
||||
Having chosen the large model, just use C++ `new', `delete' (and if
|
||||
necessary `malloc' and `free') in the normal way. The only restrictions
|
||||
now encountered are a maximum of 64 KB for a single program segment and
|
||||
for a single data item, unless huge model is selected.
|
||||
|
||||
For Borland users, use the data threshold switch, and the following is
|
||||
also recommended:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Check ``Automatic Far Data Segments"
|
||||
\item Check ``Put Constant Strings into Code Segment"
|
||||
\end{itemize}
|
||||
|
||||
See also the Frequently Asked Questions document for further details
|
||||
on using Borland with wxWindows.
|
||||
|
||||
\subsection{Allocating and deleting wxWindows objects}
|
||||
|
||||
In general, classes derived from wxWindow must dynamically allocated
|
||||
@@ -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,
|
||||
so you don't need to delete these descendants explicitly.
|
||||
|
||||
Don't statically create a window unless you know that the window
|
||||
cannot be deleted dynamically. Modal dialogs, such as those used
|
||||
in the {\tt dialogs} sample, can usually be created statically,
|
||||
if you know that the OK or Cancel button does not destroy the dialog.
|
||||
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
|
||||
that the wxWindows delayed deletion can take effect. This waits until idle time
|
||||
(when all messages have been processed) to actually delete the window, to avoid
|
||||
problems associated with the GUI sending events to deleted windows.
|
||||
|
||||
Most drawing objects, such as wxPen, wxBrush, wxFont, and wxBitmap, should be
|
||||
created dynamically. They are cleaned up automatically on program exit.
|
||||
wxColourMap is an exception to this rule (currently). In particular,
|
||||
do not attempt to create these objects globally before OnInit() has a chance
|
||||
to be called, because wxWindows might not have done essential internal initialisation
|
||||
(including creation of lists containing all instances of wxPen, wxBrush etc.)
|
||||
Don't create a window on the stack, because this will interfere
|
||||
with delayed deletion.
|
||||
|
||||
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
|
||||
@@ -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.
|
||||
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
|
||||
fine on some platforms, and then fail under Windows.
|
||||
|
||||
\section{Dynamic Link Libraries}
|
||||
|
||||
wxWindows may be used to produce DLLs which run under MS Windows. Note that
|
||||
this is not the same thing as having wxWindows as a DLL, which is not
|
||||
currently possible. For Microsoft C++, use the makefile with the argument DLL=1 to produce
|
||||
a version of the wxWindows library which may be used in a DLL application.
|
||||
There is a bug in Microsoft C++ which makes the compiler complain about returned floats,
|
||||
which goes away when the {\tt /Os} option is used, which is why that flag is
|
||||
set in the makefile.
|
||||
|
||||
For making wxWindows as a Sun dynamic library, there are comments in the
|
||||
UNIX makefile for the appropriate flags for AT\&T C++. Sorry, I haven't
|
||||
investigated the flags needed for other compilers.
|
||||
|
||||
\section{Conditional compilation}
|
||||
|
||||
One of the purposes of wxWindows is to reduce the need for conditional
|
||||
@@ -557,63 +452,69 @@ However, sometimes it is necessary to incorporate platform-specific
|
||||
features (such as metafile use under MS Windows). The following identifiers
|
||||
may be used for this purpose, along with any user-supplied ones:
|
||||
|
||||
\begin{itemize}
|
||||
\item {\tt wx\_x} - for code which should work under any X toolkit
|
||||
\item {\tt wx\_motif} - for code which should work under Motif only
|
||||
\item {\tt wx\_msw} - for code which should work under Microsoft Windows only
|
||||
\item {\tt wx\_xt} - for code which should work under Xt only
|
||||
\end{itemize}
|
||||
|
||||
For example:
|
||||
{\bf GUIs:}
|
||||
|
||||
\begin{verbatim}
|
||||
...
|
||||
#ifdef wx_x
|
||||
(void)wxMessageBox("Sorry, metafiles not available under X.");
|
||||
#endif
|
||||
#ifdef wx_msw
|
||||
wxMetaFileDC dc;
|
||||
DrawIt(dc);
|
||||
wxMetaFile *mf = dc.Close();
|
||||
mf->SetClipboard();
|
||||
delete mf;
|
||||
#endif
|
||||
...
|
||||
__X__ any X, but not GTK
|
||||
__WXMOTIF__ Motif
|
||||
__WXGTK__ GTK
|
||||
__WXMSW__ Any Windows
|
||||
__MAC__ MacOS
|
||||
__UNIX__ any Unix
|
||||
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
||||
__WIN32__ WIN32 API
|
||||
__NT__ Windows NT
|
||||
__CURSES__ CURSES
|
||||
\end{verbatim}
|
||||
|
||||
\section{Building on-line help}
|
||||
{\bf OSes:}
|
||||
|
||||
wxWindows has its own help system from version 1.30: wxHelp. It can be
|
||||
used to view the wxWindows class library reference, and also to provide
|
||||
on-line help for your wxWindows applications. The API, made accessible
|
||||
by including {\tt wx\_help.h}, allows you to load files and display
|
||||
specific sections, using DDE to communicate between the application and
|
||||
wxHelp.
|
||||
\begin{verbatim}
|
||||
__HPUX__
|
||||
__SVR4__
|
||||
__SYSV__
|
||||
__LINUX__
|
||||
__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,
|
||||
or may be generated from other files, as is the case with the wxWindows
|
||||
documentation.
|
||||
{\bf Compilers:}
|
||||
|
||||
It is possible to use the platform-specific help
|
||||
system (e.g. WinHelp) instead of wxHelp.
|
||||
\begin{verbatim}
|
||||
__GNUWIN32__ Gnu-Win32 compiler
|
||||
__DJGPP__ DJGPP
|
||||
__GNUG__ Gnu C++ on any platform
|
||||
__BORLANDC__ Borland C++
|
||||
__WATCOMC__ Watcom C++
|
||||
__SYMANTECC__ Symantec C++
|
||||
__VISUALC__ VC++
|
||||
__SUNCC__
|
||||
\end{verbatim}
|
||||
|
||||
{\bf wxWindows modes:}
|
||||
|
||||
\begin{verbatim}
|
||||
__WXDEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
|
||||
\end{verbatim}
|
||||
|
||||
See {\tt install.txt}, the wxHelp documentation (in {\tt
|
||||
utils/wxhelp/docs}) and \helpref{wxHelp}{wxhelp} for further details.
|
||||
|
||||
\section{C++ issues}
|
||||
|
||||
There are cases where a C++ program will compile and run fine under one
|
||||
environment, and then fail to compile using a different compiler. Some
|
||||
caveats are given below, from experience with the GNU C++ compiler (GCC)
|
||||
and MS C/C++ compiler version 7.
|
||||
The following documents some miscellaneous C++ issues.
|
||||
|
||||
\subsection{Templates}
|
||||
|
||||
wxWindows does not use templates for two main reasons: one, it is a
|
||||
notoriously unportable feature, and two, the author is irrationally
|
||||
suspicious of them and prefers to use casts. More compilers are
|
||||
now implementing templates, and so it will probably be safe to use
|
||||
them soon without fear of portability problems.
|
||||
wxWindows does not use templates since it is a notoriously unportable feature.
|
||||
|
||||
\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
|
||||
considerably. For this reason, you will find (in the common
|
||||
X and Windows parts of the library) conditional
|
||||
compilation that under UNIX, includes a minimal set of headers;
|
||||
compilation that under Unix, includes a minimal set of headers;
|
||||
and when using Visual C++, includes {\tt wx.h}. This should help provide
|
||||
the optimal compilation for each compiler, although it is
|
||||
biassed towards the precompiled headers facility available
|
||||
@@ -658,14 +559,14 @@ This has undesirable ramifications for people who have documents of the
|
||||
same name in different directories.
|
||||
|
||||
As regards the limitations of DOS 8+3 single-case filenames versus
|
||||
unrestricted UNIX filenames, the best solution is to use DOS filenames
|
||||
unrestricted Unix filenames, the best solution is to use DOS filenames
|
||||
for your application, and also for document filenames {\it if} the user
|
||||
is likely to be switching platforms regularly. Obviously this latter
|
||||
choice is up to the application user to decide. Some programs (such as
|
||||
YACC and LEX) generate filenames incompatible with DOS; the best
|
||||
solution here is to have your UNIX makefile rename the generated files
|
||||
solution here is to have your Unix makefile rename the generated files
|
||||
to something more compatible before transferring the source to DOS.
|
||||
Transferring DOS files to UNIX is no problem, of course, apart from EOL
|
||||
Transferring DOS files to Unix is no problem, of course, apart from EOL
|
||||
conversion for which there should be a utility available (such as
|
||||
dos2unix).
|
||||
|
||||
@@ -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
|
||||
extension. Most wxWindows documentation (user manuals and class
|
||||
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
|
||||
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.
|
||||
|
||||
\section{wxImage}\label{wximage}
|
||||
|
||||
This is a collection of GIF/BMP/XBM bitmap loading and displaying
|
||||
routines for X.
|
||||
|
||||
\section{MFUTILS}\label{mfutils}
|
||||
|
||||
A very modest step towards reading Windows metafiles on the
|
||||
any platform. Julian Smart's ClockWorks program demonstrates
|
||||
how extremely simple metafiles may be read and displayed (in this
|
||||
case, to be used as clock hands).
|
||||
|
||||
\section{Colours}\label{coloursampler}
|
||||
|
||||
A colour sampler for viewing colours and their names on each
|
||||
@@ -838,7 +728,7 @@ Use .wrc (wxWindows resource files) where possible, because they can be easily c
|
||||
independently of source code. Bitmap resources can be set up to load different
|
||||
kinds of bitmap depending on platform (see the section on resource files).
|
||||
|
||||
\section{Strategies for debugging}
|
||||
\section{Strategies for debugging}\label{debugstrategies}
|
||||
|
||||
\subsection{Positive thinking}
|
||||
|
||||
@@ -867,49 +757,35 @@ to go from functioning to non-functioning state. This should give a clue
|
||||
to the problem. In some cases though, such as memory leaks or wrong
|
||||
deallocation, this can still give totally spurious results!
|
||||
|
||||
\subsection{Genetic mutation}
|
||||
|
||||
If we had sophisticated genetic algorithm tools that could be applied
|
||||
to programming, we could use them. Until then, a common -- if rather irrational --
|
||||
technique is to just make arbitrary changes to the code until something
|
||||
different happens. You may have an intuition why a change will make a difference;
|
||||
otherwise, just try altering the order of code, comment lines out, anything
|
||||
to get over an impasse. Obviously, this is usually a last resort.
|
||||
|
||||
\subsection{Use a debugger}
|
||||
|
||||
This sounds like facetious advice, but it's surprising how often people
|
||||
don't use a debugger. Often it's an overhead to install or learn how to
|
||||
use a debugger, but it really is essential for anything but the most
|
||||
trivial programs. Some platforms don't allow for debugging, such
|
||||
as WIN32s under Windows 3.x. In this case, you might be advised to
|
||||
debug under 16-bit Windows and when you're confident, compile for
|
||||
WIN32s. In fact WIN32s can be very strict about bad memory handling,
|
||||
so testing out under WIN32s is a good thing to do even if you're
|
||||
not going to distribute this version. (Unless you've got a good memory checking,
|
||||
utility, of course!) Tracking bugs under WIN32s can involve a lot of debug message
|
||||
insertion and relinking, so make sure your compiler has a fast linker
|
||||
(e.g. Watcom, Symantec).
|
||||
trivial programs.
|
||||
|
||||
\subsection{Use tracing code}
|
||||
\subsection{Use logging functions}
|
||||
|
||||
You can use wxDebugMsg statements (or the wxDebugStreamBuf class) to
|
||||
output to a debugging window such as DBWIN under Windows, or standard
|
||||
error under X. If compiling in DEBUG mode, you can use TRACE statements
|
||||
that will be compiled out of the final build of your application.
|
||||
There is a variety of logging functions that you can use in your program:
|
||||
see \helpref{Logging functions}{logfunctions}.
|
||||
|
||||
Using tracing statements may be more convenient than using the debugger
|
||||
in some circumstances (such as when your debugger doesn't support a lot
|
||||
of debugging code, or you wish to print a bunch of variables).
|
||||
|
||||
\subsection{Use wxObject::Dump and the wxDebugContext class}
|
||||
\subsection{Use the wxWindows debugging facilities}
|
||||
|
||||
It's good practice to implement the Dump member function for all
|
||||
classes derived from wxObject. You can then make use of wxDebugContext
|
||||
to dump out information on all objects in the program, if DEBUG is
|
||||
defined to be more than zero. You can use wxDebugContext to check for
|
||||
memory leaks and corrupt memory. See the debugging topic in the
|
||||
reference manual for more information.
|
||||
You can use wxDebugContext to check for
|
||||
memory leaks and corrupt memory: in fact in debugging mode, wxWindows will
|
||||
automatically check for memory leaks at the end of the program if wxWindows is suitably
|
||||
configured. Depending on the operating system and compiler, more or less
|
||||
specific information about the problem will be logged.
|
||||
|
||||
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
|
||||
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
|
||||
will save a surprising amount of time in the long run.
|
||||
|
||||
See the \helpref{debugging overview}{debuggingoverview} for further information.
|
||||
|
||||
\subsection{Check Windows debug messages}
|
||||
|
||||
@@ -922,3 +798,14 @@ more problems. However, I doubt it's worth the hassle for most
|
||||
applications. wxWindows is designed to minimize the possibility of such
|
||||
errors, but they can still happen occasionally, slipping through unnoticed
|
||||
because they are not severe enough to cause a crash.
|
||||
|
||||
\subsection{Genetic mutation}
|
||||
|
||||
If we had sophisticated genetic algorithm tools that could be applied
|
||||
to programming, we could use them. Until then, a common -- if rather irrational --
|
||||
technique is to just make arbitrary changes to the code until something
|
||||
different happens. You may have an intuition why a change will make a difference;
|
||||
otherwise, just try altering the order of code, comment lines out, anything
|
||||
to get over an impasse. Obviously, this is usually a last resort.
|
||||
|
||||
|
||||
|
@@ -18,6 +18,14 @@ There are no special styles for wxButton.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton}{wxbitmapbutton}
|
||||
@@ -99,7 +107,7 @@ box.
|
||||
Under Windows, only dialog box buttons respond to this function. As
|
||||
normal under Windows and Motif, pressing return causes the default button to
|
||||
be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
|
||||
which sets the keyboard focus for windows and text panel items, \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
|
||||
which sets the keyboard focus for windows and text panel items,\rtfsp
|
||||
and \helpref{wxWindow::GetDefaultItem}{wxwindowgetdefaultitem}.
|
||||
|
||||
Note that under Motif, calling this function immediately after
|
||||
|
60
docs/latex/wx/calclevt.tex
Normal file
60
docs/latex/wx/calclevt.tex
Normal file
@@ -0,0 +1,60 @@
|
||||
\section{\class{wxCalculateLayoutEvent}}\label{wxcalculatelayoutevent}
|
||||
|
||||
This event is sent by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} to
|
||||
calculate the amount of the remaining client area that the window should
|
||||
occupy.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
|
||||
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::wxCalculateLayoutEvent}
|
||||
|
||||
\func{}{wxCalculateLayoutEvent}{\param{wxWindowID }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetFlags}\label{wxcalculatelayouteventgetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetRect}\label{wxcalculatelayouteventgetrect}
|
||||
|
||||
\constfunc{wxRect}{GetRect}{\void}
|
||||
|
||||
Before the event handler is entered, returns the remaining parent client area that the window
|
||||
could occupy. When the event handler returns, this should contain the remaining parent client rectangle,
|
||||
after the event handler has subtracted the area that its window occupies.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetFlags}\label{wxcalculatelayouteventsetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{int }{flags}}
|
||||
|
||||
Sets the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetRect}\label{wxcalculatelayouteventsetrect}
|
||||
|
||||
\func{void}{SetRect}{\param{const wxRect\& }{rect}}
|
||||
|
||||
Call this to specify the new remaining parent client area, after the space occupied by the
|
||||
window has been subtracted.
|
||||
|
@@ -29,24 +29,14 @@ The following are a variety of windows that are derived from wxWindow.
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window}
|
||||
\twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings}
|
||||
\twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged}
|
||||
\twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement}
|
||||
\twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
|
||||
\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
|
||||
\twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
|
||||
\twocolitem{\helpref{wxStatusBar95}{wxstatusbar95}}{Implements a Windows 95 status bar on a frame}
|
||||
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Toolbar classes}}
|
||||
|
||||
\overview{Overview}{wxtoolbaroverview}
|
||||
|
||||
These are the toolbar classes.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxToolBarBase}{wxtoolbarbase}}{Toolbar base class}
|
||||
\twocolitem{\helpref{wxToolBarSimple}{wxtoolbarsimple}}{A simple, cross-platform toolbar class}
|
||||
\twocolitem{\helpref{wxToolBarMSW}{wxtoolbarmsw}}{A Windows-only toolbar class}
|
||||
\twocolitem{\helpref{wxToolBar95}{wxtoolbar95}}{A Windows 95-only toolbar class}
|
||||
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
|
||||
%\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
|
||||
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Common dialogs}}
|
||||
@@ -170,6 +160,7 @@ An event object contains information about a specific event. Event handlers
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
|
||||
\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
|
||||
\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
|
||||
\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
|
||||
\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
|
||||
@@ -184,9 +175,12 @@ An event object contains information about a specific event. Event handlers
|
||||
\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
|
||||
\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
|
||||
\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
|
||||
\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
|
||||
\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
|
||||
%\twocolitem{\helpref{wxSessionEvent}{wxsessionevent}}{A session ending event}
|
||||
\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
|
||||
\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
|
||||
\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
|
||||
\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
|
||||
\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
|
||||
\twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event}
|
||||
\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
|
||||
@@ -195,6 +189,8 @@ An event object contains information about a specific event. Event handlers
|
||||
|
||||
{\large {\bf Validators}}
|
||||
|
||||
\overview{Overview}{validatoroverview}
|
||||
|
||||
These are the window validators, used for filtering and validating
|
||||
user input.
|
||||
|
||||
@@ -247,14 +243,16 @@ wxWindows supports some aspects of debugging an application through
|
||||
classes, functions and macros.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides various debugging facilities}
|
||||
\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
|
||||
\twocolitem{\helpref{wxObject}{wxobject}}{Provides optional debugging versions of {\bf new} and {\bf delete}}
|
||||
\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
|
||||
\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
|
||||
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
|
||||
%\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
|
||||
\twocolitem{\helpref{wxLog}{wxlog}}{Logging facility}
|
||||
\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
|
||||
\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
|
||||
%\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
|
||||
%\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
|
||||
\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
|
||||
\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
|
||||
\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
|
||||
%\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
|
||||
%\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Interprocess communication}}
|
||||
@@ -268,6 +266,9 @@ based on DDE.
|
||||
\twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client}
|
||||
\twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
|
||||
\twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server}
|
||||
\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
|
||||
\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
|
||||
\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Document/view framework}}
|
||||
@@ -277,9 +278,6 @@ based on DDE.
|
||||
wxWindows supports a document/view framework which provides
|
||||
housekeeping for a document-centric application.
|
||||
|
||||
TODO: MDI frame classes for documents; make it unnecessary to convert
|
||||
between streams and files (overridable method that uses filenames instead of streams).
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
|
||||
\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
|
||||
@@ -287,6 +285,8 @@ between streams and files (overridable method that uses filenames instead of str
|
||||
\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
|
||||
\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
|
||||
\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
|
||||
%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
|
||||
%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Printing framework}}
|
||||
@@ -326,11 +326,14 @@ product.
|
||||
{\large {\bf Miscellaneous}}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
|
||||
\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
|
||||
\twocolitem{\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}}{Base class for help controllers}
|
||||
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
|
||||
\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
|
||||
\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
|
||||
\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
|
||||
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
|
||||
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
|
||||
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
|
||||
\end{twocollist}
|
||||
|
||||
|
||||
|
@@ -16,9 +16,17 @@ There are no special styles for wxCheckBox.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHECKBOX(id, func)}}{Process a wxEVT\_COMMAND\_CHECKBOX\_CLICKED event,
|
||||
when the checkbox is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxRadioButton}{wxradiobutton}
|
||||
\helpref{wxRadioButton}{wxradiobutton}, \helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
95
docs/latex/wx/checklst.tex
Normal file
95
docs/latex/wx/checklst.tex
Normal file
@@ -0,0 +1,95 @@
|
||||
\section{\class{wxCheckListBox}}\label{wxchecklistbox}
|
||||
|
||||
A checklistbox is like a listbox, but allows items to be checked or unchecked.
|
||||
|
||||
This class is currently only implemented under Windows, and wxWindows must be
|
||||
compiled with USE\_OWNER\_DRAWN set to 1.
|
||||
|
||||
Only the new functions for this class are documented; see also \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
See \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
See \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCheckListBox::wxCheckListBox}\label{wxchecklistboxconstr}
|
||||
|
||||
\func{}{wxCheckListBox}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxCheckListBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
|
||||
\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
|
||||
|
||||
Constructor, creating and showing a list box.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
|
||||
appropriately.}
|
||||
|
||||
\docparam{n}{Number of strings with which to initialise the control.}
|
||||
|
||||
\docparam{choices}{An array of strings with which to initialise the control.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxCheckListBox}{wxchecklistbox}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\membersection{wxCheckListBox::\destruct{wxCheckListBox}}
|
||||
|
||||
\func{void}{\destruct{wxCheckListBox}}{\void}
|
||||
|
||||
Destructor, destroying the list box.
|
||||
|
||||
\membersection{wxCheckListBox::Check}\label{wxchecklistboxcheck}
|
||||
|
||||
\func{void}{Check}{\param{int }{item}, \param{bool}{ check = TRUE}}
|
||||
|
||||
Checks the given item.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item to check.}
|
||||
|
||||
\docparam{check}{TRUE if the item is to be checked, FALSE otherwise.}
|
||||
|
||||
\membersection{wxCheckListBox::IsChecked}\label{wxchecklistboxischecked}
|
||||
|
||||
\constfunc{bool}{IsChecked}{\param{int}{ item}}
|
||||
|
||||
Returns TRUE if the given item is checked, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item whose check status is to be returned.}
|
||||
|
||||
|
@@ -17,9 +17,18 @@ There are no special styles for wxChoice.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHOICE(id, func)}}{Process a wxEVT\_COMMAND\_CHOICE\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -10,8 +10,7 @@ No parent class.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Overview}{wxclassinfooverview}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
\helpref{Overview}{wxclassinfooverview}, \helpref{wxObject}{wxobject}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -27,13 +27,16 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
}}
|
||||
\end{comment}
|
||||
|
||||
\input accel.tex
|
||||
\input activevt.tex
|
||||
\input app.tex
|
||||
\input button.tex
|
||||
\input bitmap.tex
|
||||
\input bbutton.tex
|
||||
\input brush.tex
|
||||
\input calclevt.tex
|
||||
\input checkbox.tex
|
||||
\input checklst.tex
|
||||
\input choice.tex
|
||||
\input clasinfo.tex
|
||||
\input clientdc.tex
|
||||
@@ -46,11 +49,12 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input cmdevent.tex
|
||||
\input cmdproc.tex
|
||||
\input conditn.tex
|
||||
\input config.tex
|
||||
\input control.tex
|
||||
\input cursor.tex
|
||||
\input database.tex
|
||||
\input date.tex
|
||||
\input datstream.tex
|
||||
\input datstrm.tex
|
||||
\input dc.tex
|
||||
\input ddeclint.tex
|
||||
\input ddeconn.tex
|
||||
@@ -61,6 +65,8 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input document.tex
|
||||
\input docchfrm.tex
|
||||
\input docmanag.tex
|
||||
\input docmdich.tex
|
||||
\input docmdipr.tex
|
||||
\input docprfrm.tex
|
||||
\input doctempl.tex
|
||||
\input dropevt.tex
|
||||
@@ -89,11 +95,13 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input joystick.tex
|
||||
\input joyevent.tex
|
||||
\input keyevent.tex
|
||||
\input layalgor.tex
|
||||
\input layout.tex
|
||||
\input list.tex
|
||||
\input listbox.tex
|
||||
\input listctrl.tex
|
||||
\input listevt.tex
|
||||
\input log.tex
|
||||
\input mask.tex
|
||||
\input mdi.tex
|
||||
\input menu.tex
|
||||
@@ -109,6 +117,8 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input mltchdlg.tex
|
||||
\input mutex.tex
|
||||
\input node.tex
|
||||
\input notebook.tex
|
||||
\input noteevt.tex
|
||||
\input object.tex
|
||||
\input pagedlg.tex
|
||||
\input paintdc.tex
|
||||
@@ -119,17 +129,22 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input pathlist.tex
|
||||
\input pen.tex
|
||||
\input point.tex
|
||||
\input postscpt.tex
|
||||
\input prevwin.tex
|
||||
\input print.tex
|
||||
\input process.tex
|
||||
\input postscpt.tex
|
||||
\input procevt.tex
|
||||
\input query.tex
|
||||
\input qylayevt.tex
|
||||
\input radiobox.tex
|
||||
\input radiobut.tex
|
||||
\input realpoin.tex
|
||||
\input rect.tex
|
||||
\input recrdset.tex
|
||||
\input region.tex
|
||||
\input sashevt.tex
|
||||
\input sashlayw.tex
|
||||
\input sashwin.tex
|
||||
\input screendc.tex
|
||||
\input scrolbar.tex
|
||||
\input scrolevt.tex
|
||||
@@ -138,13 +153,15 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input size.tex
|
||||
\input sizeevt.tex
|
||||
\input slider.tex
|
||||
\input sckaddr.tex
|
||||
\input socket.tex
|
||||
\input spinbutt.tex
|
||||
\input splitter.tex
|
||||
\input statbmp.tex
|
||||
\input statbox.tex
|
||||
\input stattext.tex
|
||||
\input statusbr.tex
|
||||
%\input wxstring.tex
|
||||
\input wxstring.tex
|
||||
\input strlist.tex
|
||||
\input sysclevt.tex
|
||||
\input settings.tex
|
||||
@@ -161,14 +178,19 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input toolbar.tex
|
||||
\input treectrl.tex
|
||||
\input treeevt.tex
|
||||
\input upditer.tex
|
||||
\input upduievt.tex
|
||||
\input url.tex
|
||||
\input validatr.tex
|
||||
\input view.tex
|
||||
\input wave.tex
|
||||
\input window.tex
|
||||
\input windowdc.tex
|
||||
\input winhelp.tex
|
||||
|
||||
\input function.tex
|
||||
\input keycode.tex
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -13,13 +13,20 @@ functions that take a wxCloseEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function.}
|
||||
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function. This
|
||||
event applies to wxFrame and wxDialog classes.}
|
||||
\twocolitem{{\bf EVT\_QUERY\_END\_SESSION(func)}}{Process a query end session event, supplying the member function.
|
||||
This event applies to wxApp only.}
|
||||
\twocolitem{{\bf EVT\__END\_SESSION(func)}}{Process an end session event, supplying the member function.
|
||||
This event applies to wxApp only.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession},\rtfsp
|
||||
\helpref{Window deletion overview}{windowdeletionoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
@@ -30,6 +37,14 @@ functions that take a wxCloseEvent argument.
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxCloseEvent::CanVeto}\label{wxcloseeventcanveto}
|
||||
|
||||
\func{bool}{CanVeto}{\void}
|
||||
|
||||
Returns TRUE if you can veto a system shutdown or a window close event.
|
||||
Vetoing a window close event is not possible if the calling code wishes to
|
||||
force the application to exit, and so this function must be called to check this.
|
||||
|
||||
\membersection{wxCloseEvent::GetLoggingOff}\label{wxcloseeventgetloggingoff}
|
||||
|
||||
\constfunc{bool}{GetLoggingOff}{\void}
|
||||
@@ -44,14 +59,37 @@ Returns TRUE if the session is ending.
|
||||
|
||||
\membersection{wxCloseEvent::GetForce}\label{wxcloseeventgetforce}
|
||||
|
||||
\constfunc{void}{GetForce}{\void}
|
||||
\constfunc{bool}{GetForce}{\void}
|
||||
|
||||
Returns TRUE if the application wishes to force the window to close.
|
||||
This will shortly be obsolete, replaced by CanVeto.
|
||||
|
||||
\membersection{wxCloseEvent::SetCanVeto}\label{wxcloseeventsetcanveto}
|
||||
|
||||
\func{void}{SetCanVeto}{\param{bool}{ canVeto}}
|
||||
|
||||
Sets the 'can veto' flag.
|
||||
|
||||
\membersection{wxCloseEvent::SetForce}\label{wxcloseeventsetforce}
|
||||
|
||||
\constfunc{void}{SetForce}{\param{bool}{ force}}
|
||||
|
||||
Sets the 'force' flag.
|
||||
|
||||
\membersection{wxCloseEvent::SetLoggingOff}\label{wxcloseeventsetloggingoff}
|
||||
|
||||
\constfunc{void}{SetLoggingOff}{\param{bool}{ loggingOff}}
|
||||
|
||||
Sets the 'logging off' flag.
|
||||
|
||||
\membersection{wxCloseEvent::Veto}\label{wxcloseeventveto}
|
||||
|
||||
\func{void}{Veto}{\void}
|
||||
\func{void}{Veto}{\param{bool}{ veto = TRUE}}
|
||||
|
||||
Call this from your event handler to veto a system shutdown.
|
||||
Call this from your event handler to veto a system shutdown or to signal
|
||||
to the calling application that a window close did not happen.
|
||||
|
||||
You can only veto a shutdown if \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns
|
||||
TRUE.
|
||||
|
||||
|
||||
|
@@ -27,7 +27,7 @@ which is generated by a wxCheckBox control.}
|
||||
which is generated by a wxChoice control.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED command,
|
||||
which is generated by a wxListBox control.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
|
||||
\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
|
||||
which is generated by a wxListBox control.}
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED command,
|
||||
which is generated by a wxTextCtrl control.}
|
||||
@@ -48,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}).}
|
||||
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED command,
|
||||
which is generated by a wxComboBox control.}
|
||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
for a range id identifiers. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
|
||||
Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
|
||||
for a range of ids. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
|
||||
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_CLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_CLICK command,
|
||||
which is generated by a control (Windows 95 and NT only).}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_DCLICK command,
|
||||
@@ -177,3 +181,8 @@ Sets the {\bf m\_commandInt} 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}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
|
||||
when the combobox text changes.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice}
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
621
docs/latex/wx/config.tex
Normal file
621
docs/latex/wx/config.tex
Normal file
@@ -0,0 +1,621 @@
|
||||
\section{\class{wxConfigBase}}\label{wxconfigbase}
|
||||
|
||||
wxConfigBase class defines the basic interface of all config classes. It can
|
||||
not be used by itself (it's an abstract base class) and you'll always use one
|
||||
of its derivations: wxIniConfig, wxFileConfig, wxRegConfig or any other.
|
||||
|
||||
However, usually you don't even need to know the precise nature of the class
|
||||
you're working with but you would just use the wxConfigBase methods. This
|
||||
allows you to write the same code regardless of whether you're working with
|
||||
the registry under Win32 or text-based config files under Unix (or even
|
||||
Windows 3.1 .INI files if you're really unlucky). To make writing the portable
|
||||
code even easier, wxWindows provides a typedef wxConfig
|
||||
which is mapped onto the native wxConfigBase implementation on the given
|
||||
platform: i.e. wxRegConfig under Win32, wxIniConfig under Win16 and
|
||||
wxFileConfig otherwise.
|
||||
|
||||
See \helpref{config overview}{wxconfigoverview} for the descriptions of all
|
||||
features of this class.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
Here is how you would typically use this class:
|
||||
|
||||
\begin{verbatim}
|
||||
// using wxConfig instead of writing wxFileConfig or wxRegConfig enhances
|
||||
// portability of the code
|
||||
wxConfig *config = new wxConfig("MyAppName");
|
||||
|
||||
wxString str;
|
||||
if ( config->Read("LastPrompt", &str) ) {
|
||||
// last prompt was found in the config file/registry and its value is now
|
||||
// in str
|
||||
...
|
||||
}
|
||||
else {
|
||||
// no last prompt...
|
||||
}
|
||||
|
||||
// another example: using default values and the full path instead of just
|
||||
// key name: if the key is not found , the value 17 is returned
|
||||
long value = config->Read("/LastRun/CalculatedValues/MaxValue", -1);
|
||||
...
|
||||
...
|
||||
...
|
||||
// at the end of the program we would save everything back
|
||||
config->Write("LastPrompt", str);
|
||||
config->Write("/LastRun/CalculatedValues/MaxValue", value);
|
||||
|
||||
// the changes will be written back automatically
|
||||
delete config;
|
||||
\end{verbatim}
|
||||
|
||||
This basic example, of course, doesn't show all wxConfig features, such as
|
||||
enumerating, testing for existence and deleting the entries and groups of
|
||||
entries in the config file, its abilities to automatically store the default
|
||||
values or expand the environment variables on the fly. However, the main idea
|
||||
is that using this class is easy and that it should normally do what you
|
||||
expect it to.
|
||||
|
||||
NB: in the documentation of this class, the words "config file" also mean
|
||||
"registry hive" for wxRegConfig and, generally speaking, might mean any
|
||||
physical storage where a wxConfigBase-derived class stores its data.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{Static functions}
|
||||
|
||||
These functions deal with the "default" config object. Although its usage is
|
||||
not at all mandatory it may be convenient to use a global config object
|
||||
instead of creating and deleting the local config objects each time you need
|
||||
one (especially because creating a wxFileConfig object might be a time
|
||||
consuming operation). In this case, you may create this global config object
|
||||
in the very start of the program and {\it Set()} it as the default. Then, from
|
||||
anywhere in your program, you may access it using the {\it Get()} function. Of
|
||||
course, you should delete it on the program termination (otherwise, not only a
|
||||
memory leak will result, but even more importantly the changes won't be
|
||||
written back!).
|
||||
|
||||
As it happens, you may even further simplify the procedure described above:
|
||||
you may forget about calling {\it Set()}. When {\it Get()} is called and there
|
||||
is no current object, it will create one using {\it Create()} function. To
|
||||
disable this behaviour {\it DontCreateOnDemand()} is provided.
|
||||
|
||||
\helpref{Set}{wxconfigbaseset}\\
|
||||
\helpref{Get}{wxconfigbaseget}\\
|
||||
\helpref{Create}{wxconfigbasecreate}\\
|
||||
\helpref{DontCreateOnDemand}{wxconfigbasedontcreateondemand}
|
||||
|
||||
\membersection{Constructor and destructor}
|
||||
|
||||
\helpref{wxConfigBase}{wxconfigbasector}\\
|
||||
\helpref{\destruct{wxConfigBase}}{wxconfigbasedtor}
|
||||
|
||||
\membersection{Path management}
|
||||
|
||||
As explained in \helpref{config overview}{wxconfigoverview}, the config classes
|
||||
support a file system-like hierarchy of keys (files) and groups (directories).
|
||||
As in the file system case, to specify a key in the config class you must use
|
||||
a path to it. Config classes also support the notion of the current group,
|
||||
which makes it possible to use the relative paths. To clarify all this, here
|
||||
is an example (it's only for the sake of demonstration, it doesn't do anything
|
||||
sensible!):
|
||||
|
||||
\begin{verbatim}
|
||||
wxConfig *config = new wxConfig("FooBarApp");
|
||||
|
||||
// right now the current path is '/'
|
||||
conf->Write("RootEntry", 1);
|
||||
|
||||
// go to some other place: if the group(s) don't exist, they will be created
|
||||
conf->SetPath("/Group/Subgroup");
|
||||
|
||||
// create an entry in subgroup
|
||||
conf->Write("SubgroupEntry", 3);
|
||||
|
||||
// '..' is understood
|
||||
conf->Write("../GroupEntry", 2);
|
||||
conf->SetPath("..");
|
||||
|
||||
wxASSERT( conf->Read("Subgroup/SubgroupEntry", 0l) == 3 );
|
||||
|
||||
// use absolute path: it's allowed, too
|
||||
wxASSERT( conf->Read("/RootEntry", 0l) == 1 );
|
||||
\end{verbatim}
|
||||
|
||||
{\it Warning}: it's probably a good idea to always restore the path to its
|
||||
old value on function exit:
|
||||
|
||||
\begin{verbatim}
|
||||
void foo(wxConfigBase *config)
|
||||
{
|
||||
wxString strOldPath = config->GetPath();
|
||||
|
||||
config->SetPath("/Foo/Data");
|
||||
...
|
||||
|
||||
config->SetPath(strOldPath);
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
because otherwise the assert in the following example will surely fail
|
||||
(we suppose here that {\it foo()} function is the same as above except that it
|
||||
doesn't save and restore the path):
|
||||
|
||||
\begin{verbatim}
|
||||
void bar(wxConfigBase *config)
|
||||
{
|
||||
config->Write("Test", 17);
|
||||
|
||||
foo(config);
|
||||
|
||||
// we're reading "/Foo/Data/Test" here! -1 will probably be returned...
|
||||
wxASSERT( config->Read("Test", -1) == 17 );
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
Finally, the path separator in wxConfigBase and derived classes is always '/',
|
||||
regardless of the platform (i.e. it's {\bf not} '$\backslash\backslash$' under Windows).
|
||||
|
||||
\helpref{SetPath}{wxconfigbasesetpath}\\
|
||||
\helpref{GetPath}{wxconfigbasegetpath}
|
||||
|
||||
\membersection{Enumeration}
|
||||
|
||||
The functions in this section allow to enumerate all entries and groups in the
|
||||
config file. All functions here return FALSE when there are no more items.
|
||||
|
||||
You must pass the same index to GetNext and GetFirst (don't modify it).
|
||||
Please note that it's {\bf not} the index of the current item (you will have
|
||||
some great surprizes with wxRegConfig if you assume this) and you shouldn't
|
||||
even look at it: it's just a "cookie" which stores the state of the
|
||||
enumeration. It can't be stored inside the class because it would prevent you
|
||||
from running several enumerations simultaneously, that's why you must pass it
|
||||
explicitly.
|
||||
|
||||
Having said all this, enumerating the config entries/groups is very simple:
|
||||
|
||||
\begin{verbatim}
|
||||
wxArrayString aNames;
|
||||
|
||||
// enumeration variables
|
||||
wxString str;
|
||||
long dummy;
|
||||
|
||||
// first enum all entries
|
||||
bool bCont = config->GetFirstEntry(str, dummy);
|
||||
while ( bCont ) {
|
||||
aNames.Add(str);
|
||||
|
||||
bCont = GetConfig()->GetNextEntry(str, dummy);
|
||||
}
|
||||
|
||||
... we have all entry names in aNames...
|
||||
|
||||
// now all groups...
|
||||
bCont = GetConfig()->GetFirstGroup(str, dummy);
|
||||
while ( bCont ) {
|
||||
aNames.Add(str);
|
||||
|
||||
bCont = GetConfig()->GetNextGroup(str, dummy);
|
||||
}
|
||||
|
||||
... we have all group (and entry) names in aNames...
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
There are also functions to get the number of entries/subgroups without
|
||||
actually enumerating them, but you will probably never need them.
|
||||
|
||||
\helpref{GetFirstGroup}{wxconfigbasegetfirstgroup}\\
|
||||
\helpref{GetNextGroup}{wxconfigbasegetnextgroup}\\
|
||||
\helpref{GetFirstEntry}{wxconfigbasegetfirstentry}\\
|
||||
\helpref{GetNextEntry}{wxconfigbasegetnextentry}\\
|
||||
\helpref{GetNumberOfEntries}{wxconfigbasegetnumberofentries}\\
|
||||
\helpref{GetNumberOfGroups}{wxconfigbasegetnumberofgroups}
|
||||
|
||||
\membersection{Tests of existence}
|
||||
|
||||
\helpref{HasGroup}{wxconfigbasehasgroup}\\
|
||||
\helpref{HasEntry}{wxconfigbasehasentry}\\
|
||||
\helpref{Exists}{wxconfigbaseexists}
|
||||
|
||||
\membersection{Miscellaneous accessors}
|
||||
|
||||
\helpref{SetAppName}{wxconfigbasesetappname}\\
|
||||
\helpref{GetAppName}{wxconfigbasegetappname}\\
|
||||
\helpref{SetVendorName}{wxconfigbasesetvendorname}\\
|
||||
\helpref{GetVendorName}{wxconfigbasegetvendorname}
|
||||
|
||||
\membersection{Key access}
|
||||
|
||||
These function are the core of wxConfigBase class: they allow you to read and
|
||||
write config file data. All {\it Read} function take a default value which
|
||||
will be returned if the specified key is not found in the config file.
|
||||
|
||||
Currently, only two types of data are supported: string and long (but it might
|
||||
change in the near future). To work with other types: for {\it int} or {\it
|
||||
bool} you can work with function taking/returning {\it long} and just use the
|
||||
casts. Better yet, just use {\it long} for all variables which you're going to
|
||||
save in the config file: chances are that \verb$sizeof(bool) == sizeof(int) == sizeof(long)$ anyhow on your system. For {\it float}, {\it double} and, in
|
||||
general, any other type you'd have to translate them to/from string
|
||||
representation and use string functions.
|
||||
|
||||
Try not to read long values into string variables and vice versa: although it
|
||||
just might work with wxFileConfig, you will get a system error with
|
||||
wxRegConfig because in the Windows registry the different types of entries are
|
||||
indeed used.
|
||||
|
||||
Final remark: the {\it szKey} parameter for all these functions can contain an
|
||||
arbitrary path (either relative or absolute), not just the key name.
|
||||
|
||||
\helpref{Read}{wxconfigbaseread}\\
|
||||
\helpref{Write}{wxconfigbasewrite}\\
|
||||
\helpref{Flush}{wxconfigbaseflush}
|
||||
|
||||
\membersection{Delete entries/groups}
|
||||
|
||||
The functions in this section delete entries and/or groups of entries from the
|
||||
config file. {\it DeleteAll()} is especially useful if you want to erase all
|
||||
traces of your program presence: for example, when you uninstall it.
|
||||
|
||||
\helpref{DeleteEntry}{wxconfigbasedeleteentry}\\
|
||||
\helpref{DeleteGroup}{wxconfigbasedeletegroup}\\
|
||||
\helpref{DeleteAll}{wxconfigbasedeleteall}
|
||||
|
||||
\membersection{Options}
|
||||
|
||||
Some aspects of wxConfigBase behaviour can be changed during run-time. The
|
||||
first of them is the expansion of environment variables in the string values
|
||||
read from the config file: for example, if you have the following in your
|
||||
config file:
|
||||
|
||||
\begin{verbatim}
|
||||
# config file for my program
|
||||
UserData = $HOME/data
|
||||
|
||||
# the following syntax is valud only under Windows
|
||||
UserData = %windir%\\data.dat
|
||||
\end{verbatim}
|
||||
|
||||
the call to \verb$config->Read("UserData")$ will return something like
|
||||
\verb$"/home/zeitlin/data"$ if you're lucky enough to run a Linux system ;-)
|
||||
|
||||
Although this feature is very useful, it may be annoying if you read a value
|
||||
which containts '\$' or '\%' symbols (\% is used for environment variables
|
||||
expansion under Windows) which are not used for environment variable
|
||||
expansion. In this situation you may call SetExpandEnvVars(FALSE) just before
|
||||
reading this value and SetExpandEnvVars(TRUE) just after. Another solution
|
||||
would be to prefix the offending symbols with a backslash.
|
||||
|
||||
The following functions control this option:
|
||||
|
||||
\helpref{IsExpandingEnvVars}{wxconfigbaseisexpandingenvvars}\\
|
||||
\helpref{SetExpandingEnvVars}{wxconfigbasesetexpandingenvvars}\\
|
||||
\helpref{SetRecordDefaults}{wxconfigbasesetrecorddefaults}\\
|
||||
\helpref{IsRecordingDefaults}{wxconfigbaseisrecordingdefaults}
|
||||
|
||||
%%%%% MEMBERS HERE %%%%%
|
||||
\helponly{\insertatlevel{2}{
|
||||
|
||||
\wxheading{Members}
|
||||
|
||||
}}
|
||||
|
||||
\membersection{wxConfigBase::wxConfigBase}\label{wxconfigbasector}
|
||||
|
||||
\func{}{wxConfigBase}{\param{const wxString\& }{appName = wxEmptyString},
|
||||
\param{const wxString\& }{vendorName = wxEmptyString},
|
||||
\param{const wxString\& }{localFilename = wxEmptyString},
|
||||
\param{const wxString\& }{globalFilename = wxEmptyString},
|
||||
\param{long}{ style = 0}}
|
||||
|
||||
This is the default and only constructor of the wxConfigBase class, and
|
||||
derived classes.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{appName}{The application name. If this is empty, the class will
|
||||
normally use \helpref{wxApp::GetAppName}{wxappgetappname} to set it. The
|
||||
application name is used in the registry key on Windows, and can be used to
|
||||
deduce the local filename parameter if that is missing.}
|
||||
|
||||
\docparam{vendorName}{The vendor name. If this is empty, it is assumed that
|
||||
no vendor name is wanted, if this is optional for the current config class.
|
||||
The vendor name is appended to the application name for wxRegConfig.}
|
||||
|
||||
\docparam{localFilename}{Some config classes require a local filename. If this
|
||||
is not present, but required, the application name will be used instead.}
|
||||
|
||||
\docparam{globalFilename}{Some config classes require a global filename. If
|
||||
this is not present, but required, the application name will be used instead.}
|
||||
|
||||
\docparam{style}{Can be one of wxCONFIG\_USE\_LOCAL\_FILE and
|
||||
wxCONFIG\_USE\_GLOBAL\_FILE. The style interpretation depends on the config
|
||||
class and is ignored by some. For wxFileConfig, these styles determine whether
|
||||
a local or global config file is created or used. If the flag is present but
|
||||
the parameter is empty, the parameter will be set to a default. If the
|
||||
parameter is present but the style flag not, the relevant flag will be added
|
||||
to the style.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
By default, environment variable expansion is on and recording defaults is
|
||||
off.
|
||||
|
||||
\membersection{wxConfigBase::\destruct{wxConfigBase}}\label{wxconfigbasedtor}
|
||||
|
||||
\func{}{\destruct{wxConfigBase}}{\void}
|
||||
|
||||
Empty but ensures that dtor of all derived classes is virtual.
|
||||
|
||||
\membersection{wxConfigBase::Create}\label{wxconfigbasecreate}
|
||||
|
||||
\func{static wxConfigBase *}{Create}{\void}
|
||||
|
||||
Create a new config object: this function will create the "best"
|
||||
implementation of wxConfig available for the current platform, see comments
|
||||
near the definition of wxCONFIG\_WIN32\_NATIVE for details. It returns the
|
||||
created object and also sets it as the current one.
|
||||
|
||||
\membersection{wxConfigBase::DontCreateOnDemand}\label{wxconfigbasedontcreateondemand}
|
||||
|
||||
\func{void}{DontCreateOnDemand}{\void}
|
||||
|
||||
Calling this function will prevent {\it Get()} from automatically creating a
|
||||
new config object if the current one is NULL. It might be useful to call it
|
||||
near the program end to prevent new config object "accidental" creation.
|
||||
|
||||
\membersection{wxConfigBase::DeleteAll}\label{wxconfigbasedeleteall}
|
||||
|
||||
\func{bool}{DeleteAll}{\void}
|
||||
|
||||
Delete the whole underlying object (disk file, registry key, ...). Primarly
|
||||
for use by desinstallation routine.
|
||||
|
||||
\membersection{wxConfigBase::DeleteEntry}\label{wxconfigbasedeleteentry}
|
||||
|
||||
\func{bool}{DeleteEntry}{\param{const wxString\& }{ key}, \param{bool}{
|
||||
bDeleteGroupIfEmpty = TRUE}}
|
||||
|
||||
Deletes the specified entry and the group it belongs to if it was the last key
|
||||
in it and the second parameter is true.
|
||||
|
||||
\membersection{wxConfigBase::DeleteGroup}\label{wxconfigbasedeletegroup}
|
||||
|
||||
\func{bool}{DeleteGroup}{\param{const wxString\& }{ key}}
|
||||
|
||||
Delete the group (with all subgroups)
|
||||
|
||||
\membersection{wxConfigBase::Exists}\label{wxconfigbaseexists}
|
||||
|
||||
\constfunc{bool}{Exists}{\param{wxString\& }{strName}}
|
||||
|
||||
returns TRUE if either a group or an entry with a given name exists
|
||||
|
||||
\membersection{wxConfigBase::Flush}\label{wxconfigbaseflush}
|
||||
|
||||
\func{bool}{Flush}{\param{bool }{bCurrentOnly = FALSE}}
|
||||
|
||||
permanently writes all changes (otherwise, they're only written from object's
|
||||
destructor)
|
||||
|
||||
\membersection{wxConfigBase::Get}\label{wxconfigbaseget}
|
||||
|
||||
\func{wxConfigBase *}{Get}{\void}
|
||||
|
||||
Get the current config object. If there is no current object, creates one
|
||||
(using {\it Create}) unless DontCreateOnDemand was called previously.
|
||||
|
||||
\membersection{wxConfigBase::GetAppName}\label{wxconfigbasegetappname}
|
||||
|
||||
\constfunc{wxString}{GetAppName}{\void}
|
||||
|
||||
Returns the application name.
|
||||
|
||||
\membersection{wxConfigBase::GetFirstGroup}\label{wxconfigbasegetfirstgroup}
|
||||
|
||||
\constfunc{bool}{GetFirstGroup}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the first group.
|
||||
|
||||
\membersection{wxConfigBase::GetFirstEntry}\label{wxconfigbasegetfirstentry}
|
||||
|
||||
\constfunc{bool}{GetFirstEntry}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the first entry.
|
||||
|
||||
\membersection{wxConfigBase::GetNextGroup}\label{wxconfigbasegetnextgroup}
|
||||
|
||||
\constfunc{bool}{GetNextGroup}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the next group.
|
||||
|
||||
\membersection{wxConfigBase::GetNextEntry}\label{wxconfigbasegetnextentry}
|
||||
|
||||
\constfunc{bool}{GetNextEntry}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the next entry.
|
||||
|
||||
\membersection{wxConfigBase::GetNumberOfEntries}\label{wxconfigbasegetnumberofentries}
|
||||
|
||||
\constfunc{uint }{GetNumberOfEntries}{\param{bool }{bRecursive = FALSE}}
|
||||
|
||||
\membersection{wxConfigBase::GetNumberOfGroups}\label{wxconfigbasegetnumberofgroups}
|
||||
|
||||
\constfunc{uint}{GetNumberOfGroups}{\param{bool }{bRecursive = FALSE}}
|
||||
|
||||
Get number of entries/subgroups in the current group, with or without its
|
||||
subgroups.
|
||||
|
||||
\membersection{wxConfigBase::GetPath}\label{wxconfigbasegetpath}
|
||||
|
||||
\constfunc{const wxString\&}{GetPath}{\void}
|
||||
|
||||
Retrieve the current path (always as absolute path).
|
||||
|
||||
\membersection{wxConfigBase::GetVendorName}\label{wxconfigbasegetvendorname}
|
||||
|
||||
\constfunc{wxString}{GetVendorName}{\void}
|
||||
|
||||
Returns the vendor name.
|
||||
|
||||
\membersection{wxConfigBase::HasEntry}\label{wxconfigbasehasentry}
|
||||
|
||||
\constfunc{bool}{HasEntry}{\param{wxString\& }{strName}}
|
||||
|
||||
returns TRUE if the entry by this name exists
|
||||
|
||||
\membersection{wxConfigBase::HasGroup}\label{wxconfigbasehasgroup}
|
||||
|
||||
\constfunc{bool}{HasGroup}{\param{const wxString\& }{strName}}
|
||||
|
||||
returns TRUE if the group by this name exists
|
||||
|
||||
\membersection{wxConfigBase::IsExpandingEnvVars}\label{wxconfigbaseisexpandingenvvars}
|
||||
|
||||
\constfunc{bool}{IsExpandingEnvVars}{\void}
|
||||
|
||||
Returns TRUE if we are expanding environment variables in key values.
|
||||
|
||||
\membersection{wxConfigBase::IsRecordingDefaults}\label{wxconfigbaseisrecordingdefaults}
|
||||
|
||||
\func{bool}{IsRecordingDefaults}{\void} const
|
||||
|
||||
Returns TRUE if we are writing defaults back to the config file.
|
||||
|
||||
\membersection{wxConfigBase::Read}\label{wxconfigbaseread}
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
|
||||
str}}
|
||||
|
||||
Read a string from the key, returning TRUE if the value was read. If the key
|
||||
was not found, {\it str} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
|
||||
str}, \param{const wxString\& }{defaultVal}}
|
||||
|
||||
Read a string from the key. The default value is returned if the key was not
|
||||
found.
|
||||
|
||||
Returns TRUE if value was really read, FALSE if the default was used.
|
||||
|
||||
\constfunc{wxString}{Read}{\param{const wxString\& }{key}, \param{const
|
||||
wxString\& }{defaultVal}}
|
||||
|
||||
Another version of {\it Read()}, returning the string value directly.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l}}
|
||||
|
||||
Reads a long value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it l} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l},
|
||||
\param{long}{ defaultVal}}
|
||||
|
||||
Reads a long value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\constfunc{long }{Read}{\param{const wxString\& }{key}, \param{long}{
|
||||
defaultVal}}
|
||||
|
||||
Reads a long value from the key and returns it. {\it defaultVal} is returned
|
||||
if the key is not found.
|
||||
|
||||
NB: writing
|
||||
|
||||
{\small \begin{verbatim} conf->Read("key", 0); \end{verbatim} }
|
||||
|
||||
won't work because the call is ambiguous: compiler can not choose between two
|
||||
{\it Read} functions. Instead, write:
|
||||
|
||||
{\small \begin{verbatim} conf->Read("key", 0l); \end{verbatim} }
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d}}
|
||||
|
||||
Reads a double value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it d} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d},
|
||||
\param{double}{ defaultVal}}
|
||||
|
||||
Reads a double value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ b}}
|
||||
|
||||
Reads a bool value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it b} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ d},
|
||||
\param{bool}{ defaultVal}}
|
||||
|
||||
Reads a bool value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\membersection{wxConfigBase::Set}\label{wxconfigbaseset}
|
||||
|
||||
\func{wxConfigBase *}{Set}{\param{wxConfigBase *}{pConfig}}
|
||||
|
||||
Sets the config object as the current one, returns the pointer to the previous
|
||||
current object (both the parameter and returned value may be NULL)
|
||||
|
||||
\membersection{wxConfigBase::SetAppName}\label{wxconfigbasesetappname}
|
||||
|
||||
\func{void }{SetAppName}{\param{const wxString\&}{ appName}}
|
||||
|
||||
Sets the application name.
|
||||
|
||||
\membersection{wxConfigBase::SetExpandingEnvVars}\label{wxconfigbasesetexpandingenvvars}
|
||||
|
||||
\func{void}{SetExpandEnvVars }{\param{bool }{bDoIt = TRUE}}
|
||||
|
||||
Determine whether we wish to expand environment variables in key values.
|
||||
|
||||
\membersection{wxConfigBase::SetPath}\label{wxconfigbasesetpath}
|
||||
|
||||
\func{void}{SetPath}{\param{const wxString\& }{strPath}}
|
||||
|
||||
Set current path: if the first character is '/', it's the absolute path,
|
||||
otherwise it's a relative path. '..' is supported. If the strPath doesn't
|
||||
exist it is created.
|
||||
|
||||
\membersection{wxConfigBase::SetRecordDefaults}\label{wxconfigbasesetrecorddefaults}
|
||||
|
||||
\func{void}{SetRecordDefaults}{\param{bool }{bDoIt = TRUE}}
|
||||
|
||||
Sets whether defaults are written back to the config file.
|
||||
|
||||
If on (default is off) all default values are written back to the config file.
|
||||
This allows the user to see what config options may be changed and is probably
|
||||
useful only for wxFileConfig.
|
||||
|
||||
\membersection{wxConfigBase::SetVendorName}\label{wxconfigbasesetvendorname}
|
||||
|
||||
\func{void}{SetVendorName}{\param{const wxString\&}{ vendorName}}
|
||||
|
||||
Sets the vendor name.
|
||||
|
||||
\membersection{wxConfigBase::Write}\label{wxconfigbasewrite}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{const wxString\& }{
|
||||
value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{long}{ value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{double}{ value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{bool}{ value}}
|
||||
|
||||
These functions write the specified value to the config file and return TRUE
|
||||
on success.
|
||||
|
||||
|
@@ -91,7 +91,7 @@ Returns the name of the database associated with the current connection.
|
||||
\func{wxString}{GetDataSource}{\void}
|
||||
|
||||
Returns the name of the connected data source.
|
||||
|
||||
|
||||
\membersection{wxDatabase::GetErrorClass}
|
||||
|
||||
\func{wxString}{GetErrorClass}{\void}
|
||||
@@ -141,7 +141,7 @@ Returns the current ODBC database handle.
|
||||
\func{HENV}{GetHENV}{\void}
|
||||
|
||||
Returns the ODBC environment handle.
|
||||
|
||||
|
||||
\membersection{wxDatabase::GetInfo}
|
||||
|
||||
\func{bool}{GetInfo}{\param{long}{ infoType}, \param{long *}{buf}}
|
||||
@@ -219,7 +219,7 @@ source. The parameters exclusive and readOnly are not used.
|
||||
\func{void}{OnSetOptions}{\param{wxRecordSet *}{recordSet}}
|
||||
|
||||
Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::OnWaitForDataSource}
|
||||
|
||||
\func{void}{OnWaitForDataSource}{\param{bool}{ stillExecuting}}
|
||||
@@ -237,13 +237,13 @@ Sends a rollback to the ODBC driver. Not implemented.
|
||||
\func{void}{SetDataSource}{\param{const wxString\& }{s}}
|
||||
|
||||
Sets the name of the data source. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetLoginTimeout}
|
||||
|
||||
\func{void}{SetLoginTimeout}{\param{long}{ seconds}}
|
||||
|
||||
Sets the time to wait for an user login. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetPassword}
|
||||
|
||||
\func{void}{SetPassword}{\param{const wxString\& }{s}}
|
||||
@@ -262,7 +262,7 @@ mode is supported, so this function has no effect.
|
||||
\func{void}{SetQueryTimeout}{\param{long}{ seconds}}
|
||||
|
||||
Sets the time to wait for a response to a query. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetUsername}
|
||||
|
||||
\func{void}{SetUsername}{\param{const wxString\& }{s}}
|
||||
|
@@ -6,7 +6,7 @@ Sparc or anything else.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxDataStream::wxDataStream}\label{wxwaveconstr}
|
||||
\membersection{wxDataStream::wxDataStream}\label{wxdatastreamconstr}
|
||||
|
||||
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
||||
|
||||
@@ -96,14 +96,19 @@ Writes the double {\it f} to the stream using the IEEE format.
|
||||
|
||||
\membersection{wxDataStream::WriteString}
|
||||
|
||||
\func{void}{wxDataStream::WriteString}{{\param const wxString& }{string}}
|
||||
\func{void}{wxDataStream::WriteString}{{\param const wxString\& }{string}}
|
||||
|
||||
Writes {\it string} to the stream. Actually, this method writes the size of
|
||||
the string before writing {\it string} itself.
|
||||
|
||||
\membersection{wxDataStream::WriteLine}
|
||||
|
||||
\func{void}{wxDataStream::WriteLine}{{\param const wxString& }{string}}
|
||||
\func{void}{wxDataStream::WriteLine}{{\param const wxString\& }{string}}
|
||||
|
||||
Writes {\it string} as a line. Depending on the operating system, it adds
|
||||
\\n or \\r\\n.
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -157,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}}
|
||||
|
||||
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 the current brush for filling the shape.
|
||||
|
||||
The arc is drawn in an anticlockwise direction from the start point to the end point.
|
||||
|
||||
\membersection{wxDC::DrawEllipse}\label{wxdcdrawellipse}
|
||||
|
||||
\func{void}{DrawEllipse}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
|
||||
|
@@ -74,6 +74,8 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
|
||||
a different level will only have an effect if trace statements in the application
|
||||
specify a value other than one.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetLevel}{wxdebugcontextsetlevel}
|
||||
@@ -84,6 +86,8 @@ specify a value other than one.
|
||||
|
||||
Returns the output stream associated with the debug context.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}
|
||||
@@ -96,6 +100,8 @@ Returns a pointer to the output stream buffer associated with the debug context.
|
||||
There may not necessarily be a stream buffer if the stream has been set
|
||||
by the user.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\membersection{wxDebugContext::HasStream}\label{wxdebugcontexthasstream}
|
||||
|
||||
\func{bool}{HasStream}{\void}
|
||||
@@ -103,6 +109,8 @@ by the user.
|
||||
Returns TRUE if there is a stream currently associated
|
||||
with the debug context.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}, \helpref{wxDebugContext::GetStream}{wxdebugcontextgetstream}
|
||||
@@ -195,6 +203,8 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
|
||||
a different level will only have an effect if trace statements in the application
|
||||
specify a value other than one.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::GetLevel}{wxdebugcontextgetlevel}
|
||||
@@ -206,6 +216,8 @@ specify a value other than one.
|
||||
Sets the debugging stream to be the debugger (Windows) or standard error (other platforms).
|
||||
This is the default setting. The existing stream will be flushed and deleted.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\membersection{wxDebugContext::SetStream}\label{wxdebugcontextsetstream}
|
||||
|
||||
\func{void}{SetStream}{\param{ostream* }{stream}, \param{streambuf* }{streamBuf = NULL}}
|
||||
@@ -213,6 +225,8 @@ This is the default setting. The existing stream will be flushed and deleted.
|
||||
Sets the stream and optionally, stream buffer associated with the debug context.
|
||||
This operation flushes and deletes the existing stream (and stream buffer if any).
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{stream}{Stream to associate with the debug context. Do not set this to NULL.}
|
||||
@@ -231,6 +245,8 @@ Windows, an ostream constructed with this buffer outputs
|
||||
to the debugger, or other program that intercepts debugging
|
||||
output. On other platforms, the output goes to standard error (cerr).
|
||||
|
||||
This is soon to be obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
streambuf
|
||||
|
@@ -30,8 +30,9 @@ dialog to respond to system close events.
|
||||
\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the dialog box (Motif only).}
|
||||
\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxSYSTEM\_MENU and wxTHICK\_FRAME}
|
||||
\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window (Motif only).}
|
||||
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu (Motif only).}
|
||||
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window (Motif only).}
|
||||
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
|
||||
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}
|
||||
\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).}
|
||||
\twocolitem{\windowstyle{wxNO\_3D}}{Under Windows, specifies that the child controls
|
||||
should not have 3D borders unless specified in the control.}
|
||||
\end{twocollist}
|
||||
|
@@ -35,7 +35,7 @@ The view associated with the frame.
|
||||
\membersection{wxDocChildFrame::wxDocChildFrame}
|
||||
|
||||
\func{}{wxDocChildFrame}{\param{wxDocument* }{doc}, \param{wxView* }{view}, \param{wxFrame* }{parent},
|
||||
\param{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{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = ``frame"}}
|
||||
|
||||
|
@@ -12,7 +12,7 @@ and \helpref{wxDocTemplate}{wxdoctemplate} classes.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDocManager overview}{wxdocmanageroverview}, \helpref{wxDocument}{wxdocument},\rtfsp
|
||||
\helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate}
|
||||
\helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate}, \helpref{wxFileHistory}{wxfilehistory}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -139,28 +139,54 @@ of view is presented to the user.
|
||||
|
||||
Removes the template from the list of templates.
|
||||
|
||||
\membersection{wxDocManager::FileHistoryLoad}
|
||||
\membersection{wxDocManager::FileHistoryAddFilesToMenu}\label{wxdocmanagerfilehistoryaddfilestomenu}
|
||||
|
||||
\func{void}{FileHistoryLoad}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
\func{void}{FileHistoryAddFilesToMenu}{\void}
|
||||
|
||||
Loads the file history from a resource file, using the given section. This must be called
|
||||
Appends the files in the history list, to all menus managed by the file history object.
|
||||
|
||||
\func{void}{FileHistoryAddFilesToMenu}{\param{wxMenu*}{ menu}}
|
||||
|
||||
Appends the files in the history list, to the given menu only.
|
||||
|
||||
\membersection{wxDocManager::FileHistoryLoad}\label{wxdocmanagerfilehistoryload}
|
||||
|
||||
\func{void}{FileHistoryLoad}{\param{wxConfigBase\& }{config}}
|
||||
|
||||
Loads the file history from a config object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
\membersection{wxDocManager::FileHistoryRemoveMenu}\label{wxdocmanagerfilehistoryremovemenu}
|
||||
|
||||
\func{void}{FileHistoryRemoveMenu}{\param{wxMenu*}{ menu}}
|
||||
|
||||
Removes the given menu from the list of menus managed by the file history object.
|
||||
|
||||
\membersection{wxDocManager::FileHistorySave}\label{wxdocmanagerfilehistorysave}
|
||||
|
||||
\func{void}{FileHistorySave}{\param{wxConfigBase\& }{resourceFile}}
|
||||
|
||||
Saves the file history into a config object. This must be called
|
||||
explicitly by the application.
|
||||
|
||||
\membersection{wxDocManager::FileHistorySave}
|
||||
\wxheading{See also}
|
||||
|
||||
\func{void}{FileHistorySave}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
Saves the file history into a resource file, using the given section. This must be called
|
||||
explicitly by the application.
|
||||
\membersection{wxDocManager::FileHistoryUseMenu}\label{wxdocmanagerfilehistoryusemenu}
|
||||
|
||||
\membersection{wxDocManager::FileHistoryUseMenu}
|
||||
|
||||
\func{void}{FileHistoryUseMenu}{\param{wxMenu *}{menu}}
|
||||
\func{void}{FileHistoryUseMenu}{\param{wxMenu*}{ menu}}
|
||||
|
||||
Use this menu for appending recently-visited document filenames, for convenient
|
||||
access. Calling this function with a valid menu pointer enables the history
|
||||
list functionality.
|
||||
|
||||
Note that you can add multiple menus using this function, to be managed by the
|
||||
file history object.
|
||||
|
||||
\membersection{wxDocManager::FindTemplateForPath}
|
||||
|
||||
\func{wxDocTemplate *}{FindTemplateForPath}{\param{const wxString\& }{path}}
|
||||
|
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}
|
||||
|
||||
\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{long}{ style}, \param{const wxString\& }{name}}
|
||||
|
||||
|
@@ -324,4 +324,8 @@ Sets the title for this document. The document title is used for an associated
|
||||
frame (if any), and is usually constructed by the framework from
|
||||
the filename.
|
||||
|
||||
\membersection{wxDocument::UpdateAllViews}\label{wxdocumentupdateallviews}
|
||||
|
||||
\func{void}{UpdateAllViews}{\param{wxView* }{sender = NULL}}
|
||||
|
||||
Updates all views. If {\it sender} is non-NULL, does not update this view.
|
||||
|
@@ -3,13 +3,17 @@
|
||||
The wxFileHistory encapsulates a user interface convenience, the
|
||||
list of most recently visited files as shown on a menu (usually the File menu).
|
||||
|
||||
wxFileHistory can manage one or more file menus. More than one menu may be required
|
||||
in an MDI application, where the file history should appear on each MDI child menu
|
||||
as well as the MDI parent frame.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{wxFileHistory overview}{wxfilehistoryoverview}
|
||||
\helpref{wxFileHistory overview}{wxfilehistoryoverview}, \helpref{wxDocManager}{wxdocmanager}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -56,38 +60,65 @@ Destructor.
|
||||
|
||||
Adds a file to the file history list, if the object has a pointer to an appropriate file menu.
|
||||
|
||||
\membersection{wxFileHistory::FileHistoryLoad}
|
||||
\membersection{wxFileHistory::AddFilesToMenu}\label{wxfilehistoryaddfilestomenu}
|
||||
|
||||
\func{void}{FileHistoryLoad}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
\func{void}{AddFilesToMenu}{\void}
|
||||
|
||||
Loads the file history from a resource file, using the given section. This must be called
|
||||
explicitly by the application.
|
||||
Appends the files in the history list, to all menus managed by the file history object.
|
||||
|
||||
\membersection{wxFileHistory::FileHistorySave}
|
||||
\func{void}{AddFilesToMenu}{\param{wxMenu*}{ menu}}
|
||||
|
||||
\func{void}{FileHistorySave}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
Appends the files in the history list, to the given menu only.
|
||||
|
||||
Saves the file history into a resource file, using the given section. This must be called
|
||||
explicitly by the application.
|
||||
\membersection{wxFileHistory::GetHistoryFile}\label{wxfilehistorygethistoryfile}
|
||||
|
||||
\membersection{wxFileHistory::FileHistoryUseMenu}
|
||||
\constfunc{wxString}{GetHistoryFile}{\param{int}{ index}}
|
||||
|
||||
\func{void}{FileHistoryUseMenu}{\param{wxMenu* }{menu}}
|
||||
|
||||
Use this menu for appending recently-visited document filenames, for convenient
|
||||
access. Calling this function with a valid menu pointer enables the history
|
||||
list functionality.
|
||||
Returns the file at this index (zero-based).
|
||||
|
||||
\membersection{wxFileHistory::GetMaxFiles}
|
||||
|
||||
\func{int}{GetMaxFiles}{\void}
|
||||
\constfunc{int}{GetMaxFiles}{\void}
|
||||
|
||||
Returns the maximum number of files that can be stored.
|
||||
|
||||
\membersection{wxFileHistory::GetNoHistoryFiles}
|
||||
|
||||
\func{int}{GetNoHistoryFiles}{\void}
|
||||
\constfunc{int}{GetNoHistoryFiles}{\void}
|
||||
|
||||
Returns the number of files currently stored in the file history.
|
||||
|
||||
\membersection{wxFileHistory::Load}
|
||||
|
||||
\func{void}{Load}{\param{wxConfigBase\& }{config}}
|
||||
|
||||
Loads the file history from the given config object. This function should be called explicitly by the application.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
\membersection{wxFileHistory::RemoveMenu}
|
||||
|
||||
\func{void}{RemoveMenu}{\param{wxMenu* }{menu}}
|
||||
|
||||
Removes this menu from the list of those managed by this object.
|
||||
|
||||
\membersection{wxFileHistory::Save}
|
||||
|
||||
\func{void}{Save}{\param{wxConfigBase\& }{config}}
|
||||
|
||||
Saves the file history into the given config object. This must be called
|
||||
explicitly by the application.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
\membersection{wxFileHistory::UseMenu}
|
||||
|
||||
\func{void}{UseMenu}{\param{wxMenu* }{menu}}
|
||||
|
||||
Adds this menu to the list of those managed by this object.
|
||||
|
||||
|
||||
|
@@ -4,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
|
||||
status bar. A frame can contain any window that is not a frame or dialog.
|
||||
|
||||
A frame that has a status bar and toolbar created via the CreateStatusBar/CreateToolBar functions
|
||||
manages these windows, and adjusts the value returned by GetClientSize to reflect
|
||||
the remaining size available to application windows.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
@@ -122,7 +126,9 @@ for further details.
|
||||
|
||||
\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.
|
||||
|
||||
@@ -131,9 +137,17 @@ Creates a status bar at the bottom of the frame.
|
||||
\docparam{number}{The number of fields to create. Specify a
|
||||
value greater than 1 to create a multi-field status bar.}
|
||||
|
||||
\docparam{style}{The status bar style. See \helpref{wxStatusBar}{wxstatusbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The status bar window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The status bar window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the status bar was created successfully.
|
||||
A pointer to the the status bar if it was created successfully, NULL otherwise.
|
||||
|
||||
\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::GetStatusBar}{wxframegetstatusbar}
|
||||
|
||||
\membersection{wxFrame::CreateToolBar}\label{wxframecreatetoolbar}
|
||||
|
||||
\func{virtual wxToolBar*}{CreateToolBar}{\param{long}{ style = wxNO\_BORDER \pipe wxTB\_HORIZONTAL},
|
||||
\param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "toolBar"}}
|
||||
|
||||
Creates a toolbar at the top or left of the frame.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The toolbar window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A pointer to the the toolbar if it was created successfully, NULL otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
By default, the toolbar is an instance of wxToolBar (which is defined to be
|
||||
a suitable toolbar class on each platform, such as wxToolBar95). To use a different class,
|
||||
override \helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar}.
|
||||
|
||||
When a toolbar has been created with this function, or made known to the frame
|
||||
with \helpref{wxFrame::SetToolBar}{wxframesettoolbar}, the frame will manage the toolbar
|
||||
position and adjust the return value from \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} to
|
||||
reflect the available space for application windows.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar},\rtfsp
|
||||
\helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar},\rtfsp
|
||||
\helpref{wxFrame::SetToolBar}{wxframesettoolbar},\rtfsp
|
||||
\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
|
||||
|
||||
\membersection{wxFrame::GetMenuBar}\label{wxframegetmenubar}
|
||||
|
||||
\constfunc{wxMenuBar*}{GetMenuBar}{\void}
|
||||
@@ -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
|
||||
\helpref{wxFrame::SetTitle}{wxframesettitle}.
|
||||
|
||||
\membersection{wxFrame::GetToolBar}\label{wxframegettoolbar}
|
||||
|
||||
\func{wxToolBar*}{GetToolBar}{\void}
|
||||
|
||||
Returns a pointer to the toolbar currently associated with the frame (if any).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp
|
||||
\helpref{wxFrame::SetToolBar}{wxframesettoolbar}
|
||||
|
||||
\membersection{wxFrame::Iconize}\label{wxframeiconize}
|
||||
|
||||
\func{void}{Iconize}{\param{const bool}{ iconize}}
|
||||
@@ -269,7 +333,9 @@ If you call wxFrame::LoadAccelerators, you need to override this function e.g.
|
||||
|
||||
\membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar}
|
||||
|
||||
\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}}
|
||||
\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}.
|
||||
|
||||
@@ -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{style}{The window style. See \helpref{wxStatusBar}{wxstatusbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A status bar object.
|
||||
@@ -290,6 +364,36 @@ implementation returns an instance of \helpref{wxStatusBar}{wxstatusbar}.
|
||||
|
||||
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar}.
|
||||
|
||||
\membersection{wxFrame::OnCreateToolBar}\label{wxframeoncreatetoolbar}
|
||||
|
||||
\func{virtual wxToolBar*}{OnCreateToolBar}{\param{long}{ style},
|
||||
\param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
|
||||
|
||||
Virtual function called when a toolbar is requested by \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The toolbar window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A toolbar object.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
An application can override this function to return a different kind of toolbar. The default
|
||||
implementation returns an instance of \helpref{wxToolBar}{wxtoolbar}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar}.
|
||||
|
||||
\membersection{wxFrame::OnMenuCommand}\label{wxframeonmenucommand}
|
||||
|
||||
\func{void}{OnMenuCommand}{\param{wxCommandEvent\&}{ event}}
|
||||
@@ -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}.
|
||||
|
||||
\membersection{wxFrame::SetStatusBar}\label{wxframesetstatusbar}
|
||||
|
||||
\func{void}{SetStatusBar}{\param{wxStatusBar*}{ statusBar}}
|
||||
|
||||
Associates a status bar with the frame.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar},\rtfsp
|
||||
\helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
|
||||
|
||||
\membersection{wxFrame::SetStatusText}\label{wxframesetstatustext}
|
||||
|
||||
\func{virtual void}{SetStatusText}{\param{const wxString\& }{ text}, \param{int}{ number = 0}}
|
||||
@@ -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
|
||||
variable fields.
|
||||
|
||||
\membersection{wxFrame::SetToolBar}\label{wxframesettoolbar}
|
||||
|
||||
\func{void}{SetToolBar}{\param{wxToolBar*}{ toolBar}}
|
||||
|
||||
Associates a toolbar with the frame.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp
|
||||
\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
|
||||
|
||||
\membersection{wxFrame::SetTitle}\label{wxframesettitle}
|
||||
|
||||
\func{virtual void}{SetTitle}{\param{const wxString\& }{ title}}
|
||||
|
@@ -479,113 +479,6 @@ This function is only available under Windows.
|
||||
Globally sets the cursor; only has an effect in MS Windows.
|
||||
See also \helpref{wxCursor}{wxcursor}, \helpref{wxWindow::SetCursor}{wxwindowsetcursor}.
|
||||
|
||||
\section{System event functions}
|
||||
|
||||
The wxWindows system event implementation is incomplete and
|
||||
experimental, but is intended to be a platform-independent way of
|
||||
intercepting and sending events, including defining
|
||||
application-specific events and handlers.
|
||||
|
||||
Ultimately it is intended to be used as a way of testing wxWindows
|
||||
applications using scripts, although there are currently
|
||||
problems with this (especially with modal dialogs).
|
||||
|
||||
All this is documented more to provoke comments and suggestions, and
|
||||
jog my own memory, rather than to be used, since it has not been
|
||||
tested. However {\bf wxSendEvent} will probably work if you
|
||||
instantiate the event structure properly for a command event type (see
|
||||
the code in {\tt wb\_panel.cpp} for \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
|
||||
which uses {\bf wxSendEvent} to send a command to the default button).
|
||||
|
||||
\membersection{::wxAddPrimaryEventHandler}
|
||||
|
||||
\func{bool}{wxAddPrimaryEventHandler}{\param{wxEventHandler}{ handlerFunc}}
|
||||
|
||||
Add a primary event handler---the normal event handler for this
|
||||
event. For built-in events, these would include moving and resizing
|
||||
windows. User-defined primary events might include the code to
|
||||
select an image in a diagram (which could of course be achieved by a series
|
||||
of external events for mouse-clicking, but would be more difficult to specify
|
||||
and less robust).
|
||||
|
||||
Returns TRUE if it succeeds.
|
||||
|
||||
An event handler takes a pointer to a wxEvent and a boolean flag which is
|
||||
TRUE if the event was externally generated, and returns a boolean which is
|
||||
TRUE if that event was handled.
|
||||
|
||||
\membersection{::wxAddSecondaryEventHandler}
|
||||
|
||||
\func{bool}{wxAddSecondaryEventHandler}{\param{wxEventHandler}{ handlerFunc}, \param{bool}{ pre},\\
|
||||
\param{bool}{ override}, \param{bool }{append}}
|
||||
|
||||
Add a secondary event handler, pre = TRUE iff it should be called before the
|
||||
event is executed. override = TRUE iff the handler is allowed to override
|
||||
all subsequent events by returning TRUE. Returns TRUE if succeeds.
|
||||
|
||||
A secondary event handler is an application-defined handler that may
|
||||
intercept normal events, possibly overriding them. A primary event handler
|
||||
provides the normal behaviour for the event.
|
||||
|
||||
An event handler takes a pointer to a wxEvent and a boolean flag which is
|
||||
TRUE if the event was externally generated, and returns a boolean which is
|
||||
TRUE if that event was handled.
|
||||
|
||||
\membersection{::wxNotifyEvent}
|
||||
|
||||
\func{bool}{wxNotifyEvent}{\param{wxEvent\&}{ event}, \param{bool}{ pre}}
|
||||
|
||||
Notify the system of the event you are about to execute/have just
|
||||
executed. If TRUE is returned and pre = TRUE, the calling code should
|
||||
not execute the event (since it has been intercepted by a handler and
|
||||
vetoed).
|
||||
|
||||
These events are always internal, because they're generated from within
|
||||
the main application code.
|
||||
|
||||
\membersection{::wxRegisterEventClass}
|
||||
|
||||
\func{void}{wxRegisterEventClass}{\param{WXTYPE}{ eventClassId},\param{WXTYPE}{ superClassId},\\
|
||||
\param{wxEventConstructor}{ constructor}, \param{const wxString\& }{description}}
|
||||
|
||||
Register a new event class (derived from wxEvent), giving the new
|
||||
event class type, its superclass, a function for creating a new event
|
||||
object of this class, and an optional description.
|
||||
|
||||
\membersection{::wxRegisterEventName}
|
||||
|
||||
\func{void}{wxRegisterEventName}{\param{WXTYPE}{ eventTypeId},\param{WXTYPE}{ eventClassId},\\
|
||||
\param{const wxString\& }{eventName}}
|
||||
|
||||
Register the name of the event. This will allow a simple command
|
||||
language where giving the event type name and some arguments will
|
||||
cause a new event of class {\it eventClassId} to be created, with given
|
||||
event type, and some arguments, allows an event to be dynamically
|
||||
constructed and sent.
|
||||
|
||||
\membersection{::wxRegisterExternalEventHandlers}
|
||||
|
||||
\func{void}{wxRegisterExternalEventHandlers}{\void}
|
||||
|
||||
Define this and link before wxWindows library to allow registering
|
||||
events from `outside' the main application.
|
||||
|
||||
\membersection{::wxRemoveSecondaryEventHandler}
|
||||
|
||||
\func{bool}{wxRemoveSecondaryEventHandler}{\param{wxEventHandler}{ handlerFunc}, \param{bool}{ pre}}
|
||||
|
||||
Remove a secondary event handler. Returns TRUE if it succeeds.
|
||||
|
||||
\membersection{::wxSendEvent}\label{wxsendevent}
|
||||
|
||||
\func{bool}{wxSendEvent}{\param{wxEvent\&}{ event}, \param{bool}{ external}}
|
||||
|
||||
Send an event to the system; usually it will be external, but set
|
||||
external to FALSE if calling from within the main application in
|
||||
response to other events.
|
||||
|
||||
Returns TRUE if the event was processed.
|
||||
|
||||
\section{Printer settings}\label{printersettings}
|
||||
|
||||
The following functions are used to control PostScript printing. Under
|
||||
@@ -857,6 +750,8 @@ each wxDebugMsg call. wxDebugMsg seems to be broken under WIN32s
|
||||
(at least for Watcom C++): preformat your messages and use OutputDebugString
|
||||
instead.
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{::wxDisplaySize}
|
||||
|
||||
\func{void}{wxDisplaySize}{\param{int *}{width}, \param{int *}{height}}
|
||||
@@ -1228,6 +1123,8 @@ Converts the character to upper case. This is implemented as a macro for efficie
|
||||
Takes printf-style variable argument syntax. Output
|
||||
is directed to the current output stream (see \helpref{wxDebugContext}{wxdebugcontextoverview}).
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{::wxTraceLevel}\label{wxtracelevel}
|
||||
|
||||
\func{void}{wxTraceLevel}{\param{int}{ level}, \param{const wxString\& }{fmt}, \param{...}{}}
|
||||
@@ -1238,6 +1135,8 @@ The first argument should be the level at which this information is appropriate.
|
||||
It will only be output if the level returned by wxDebugContext::GetLevel is equal to or greater than
|
||||
this value.
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{::wxWriteResource}\label{wxwriteresource}
|
||||
|
||||
\func{bool}{wxWriteResource}{\param{const wxString\& }{section}, \param{const wxString\& }{entry},
|
||||
@@ -1462,6 +1361,8 @@ base classes.
|
||||
Calls wxTrace with printf-style variable argument syntax. Output
|
||||
is directed to the current output stream (see \helpref{wxDebugContext}{wxdebugcontextoverview}).
|
||||
|
||||
This macro is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{WXTRACELEVEL}\label{tracelevel}
|
||||
|
||||
\func{}{WXTRACELEVEL}{level, formatString, ...}
|
||||
@@ -1472,6 +1373,8 @@ The first argument should be the level at which this information is appropriate.
|
||||
It will only be output if the level returned by wxDebugContext::GetLevel is equal to or greater than
|
||||
this value.
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\section{wxWindows resource functions}\label{resourcefuncs}
|
||||
|
||||
\overview{wxWindows resource system}{resourceformats}
|
||||
@@ -1667,3 +1570,148 @@ is no connection between names used in resources, and the global bitmap data.
|
||||
|
||||
Another name for \helpref{wxResourceRegisterBitmapData}{registerbitmapdata}.
|
||||
|
||||
\section{Log functions}\label{logfunctions}
|
||||
|
||||
These functions provide a variety of logging functions: see \helpref{Log classes overview}{wxlogoverview} for
|
||||
further information.
|
||||
|
||||
\membersection{::wxLogError}\label{wxlogerror}
|
||||
|
||||
\func{void}{wxLogError}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
The function to use for error messages, i.e. the
|
||||
messages that must be shown to the user. The default processing is to pop up a
|
||||
message box to inform the user about it.
|
||||
|
||||
\membersection{::wxLogFatalError}\label{wxlogfatalerror}
|
||||
|
||||
\func{void}{wxLogFatalError}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
Like \helpref{wxLogError}{wxlogerror}, but also
|
||||
terminates the program with the exit code 3. Using {\it abort()} standard
|
||||
function also terminates the program with this exit code.
|
||||
|
||||
\membersection{::wxLogWarning}\label{wxlogwarning}
|
||||
|
||||
\func{void}{wxLogWarning}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
For warnings - they are also normally shown to the
|
||||
user, but don't interrupt the program work.
|
||||
|
||||
\membersection{::wxLogMessage}\label{wxlogmessage}
|
||||
|
||||
\func{void}{wxLogMessage}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
for all normal, informational messages. They also
|
||||
appear in a message box by default (but it can be changed). Notice
|
||||
that the standard behaviour is to not show informational messages if there are
|
||||
any errors later - the logic being that the later error messages make the
|
||||
informational messages preceding them meaningless.
|
||||
|
||||
\membersection{::wxLogVerbose}\label{wxlogverbose}
|
||||
|
||||
\func{void}{wxLogVerbose}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
For verbose output. Normally, it's suppressed, but
|
||||
might be activated if the user wishes to know more details about the program
|
||||
progress (another, but possibly confusing name for the same function is {\bf wxLogInfo}).
|
||||
|
||||
\membersection{::wxLogStatus}\label{wxlogstatus}
|
||||
|
||||
\func{void}{wxLogStatus}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
For status messages - they will go into the status
|
||||
bar of the active or specified (as the first argument) \helpref{wxFrame}{wxframe} if it has one.
|
||||
|
||||
\membersection{::wxLogSysError}\label{wxlogsyserror}
|
||||
|
||||
\func{void}{wxLogSysError}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
Mostly used by wxWindows itself, but might be
|
||||
handy for logging errors after system call (API function) failure. It logs the
|
||||
specified message text as well as the last system error code ({\it errno} or {\it ::GetLastError()} depending
|
||||
on the platform) and the corresponding error
|
||||
message. The second form of this function takes the error code explitly as the
|
||||
first argument.
|
||||
|
||||
\membersection{::wxLogDebug}\label{wxlogdebug}
|
||||
|
||||
\func{void}{wxLogDebug}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
The right function for debug output. It only
|
||||
does anything at all in the debug mode (when the preprocessor symbol \_\_WXDEBUG\_\_ is defined)
|
||||
and expands to nothing in release mode (otherwise).
|
||||
|
||||
\membersection{::wxLogTrace}\label{wxlogtrace}
|
||||
|
||||
\func{void}{wxLogTrace}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
\func{void}{wxLogTrace}{\param{wxTraceMask}{ mask}, \param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
As {\bf wxLogDebug}, only does something in debug
|
||||
build. The reason for making it a separate function from it is that usually
|
||||
there are a lot of trace messages, so it might make sense to separate them
|
||||
from other debug messages which would be flooded in them. Moreover, the second
|
||||
version of this function takes a trace mask as the first argument which allows
|
||||
to further restrict the amount of messages generated. The value of {\it mask} can be:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item wxTraceMemAlloc: trace memory allocation (new/delete)
|
||||
\item wxTraceMessages: trace window messages/X callbacks
|
||||
\item wxTraceResAlloc: trace GDI resource allocation
|
||||
\item wxTraceRefCount: trace various ref counting operations
|
||||
\end{itemize}
|
||||
|
||||
\section{Debugging macros and functions}\label{debugmacros}
|
||||
|
||||
Useful macros and functins for error checking and defensive programming. ASSERTs are only
|
||||
compiled if \_\_WXDEBUG\_\_ is defined, whereas CHECK macros stay in release
|
||||
builds.
|
||||
|
||||
\membersection{::wxOnAssert}\label{wxonassert}
|
||||
|
||||
\func{void}{wxOnAssert}{\param{const char*}{ fileName}, \param{int}{ lineNumber}, \param{const char*}{ msg = NULL}}
|
||||
|
||||
This function may be redefined to do something non trivial and is called
|
||||
whenever one of debugging macros fails (i.e. condition is false in an
|
||||
assertion). TODO: this should probably be an overridable in wxApp.
|
||||
|
||||
\membersection{wxASSERT}\label{wxassert}
|
||||
|
||||
\func{}{wxASSERT}{\param{}{condition}}
|
||||
|
||||
Assert macro. An error message will be generated if the condition is FALSE.
|
||||
|
||||
\membersection{wxASSERT\_MSG}\label{wxassertmsg}
|
||||
|
||||
\func{}{wxASSERT\_MSG}{\param{}{condition}, \param{}{msg}}
|
||||
|
||||
Assert macro with message. An error message will be generated if the condition is FALSE.
|
||||
|
||||
\membersection{wxFAIL}\label{wxfail}
|
||||
|
||||
\func{}{wxFAIL}{\param{}{condition}}
|
||||
|
||||
Will always generate an assert error if this code is reached (in debug mode).
|
||||
|
||||
\membersection{wxFAIL\_MSG}\label{wxfailmsg}
|
||||
|
||||
\func{}{wxFAIL\_MSG}{\param{}{condition}, \param{}{msg}}
|
||||
|
||||
Will always generate an assert error with specified message if this code is reached (in debug mode).
|
||||
|
||||
\membersection{wxCHECK}\label{wxcheck}
|
||||
|
||||
\func{}{wxCHECK}{\param{}{condition}, \param{}{retValue}}
|
||||
|
||||
Checks that the condition is true, returns with the given return value if not (FAILs in debug mode).
|
||||
This check is done even in release mode.
|
||||
|
||||
\membersection{wxCHECK\_MSG}\label{wxcheckmsg}
|
||||
|
||||
\func{}{wxCHECK\_MSG}{\param{}{condition}, \param{}{retValue}, \param{}{msg}}
|
||||
|
||||
Checks that the condition is true, returns with the given return value if not (FAILs in debug mode).
|
||||
This check is done even in release mode.
|
||||
|
||||
|
||||
|
@@ -21,6 +21,10 @@ There are no user commands for the gauge.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
wxGauge is read-only so generates no events.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSlider}{wxslider}, \helpref{wxScrollBar}{wxscrollbar}
|
||||
|
@@ -1,11 +1,8 @@
|
||||
\section{\class{wxHelpControllerBase}}\label{wxhelpcontrollerbase}
|
||||
\section{\class{wxHelpController}}\label{wxhelpcontroller}
|
||||
|
||||
This class defines the interface by which
|
||||
This is a family of classes by which
|
||||
applications may invoke a help viewer to provide on-line help.
|
||||
|
||||
Other classes derive from this class to provide actual implementations
|
||||
of help controllers.
|
||||
|
||||
A help controller allows an application to display help, at the contents
|
||||
or at a particular topic, and shut the help program down on termination.
|
||||
This avoids proliferation of many instances of the help viewer whenever the
|
||||
@@ -16,36 +13,42 @@ when it starts, and immediately call {\bf Initialize}\rtfsp
|
||||
to associate a filename with it. The help viewer will only get run, however,
|
||||
just before the first call to display something.
|
||||
|
||||
Although all help controller classes actually derive from wxHelpControllerBase and have
|
||||
names of the form wxXXXHelpController, the
|
||||
appropriate class is aliased to the name wxHelpController for each platform.
|
||||
|
||||
There are currently the following help controller classes defined:
|
||||
|
||||
\begin{itemize}\itemsep=0
|
||||
\item wxWinHelpController, for controlling Windows Help.
|
||||
\item wxExtHelpController, for controlling external browsers under Unix.
|
||||
The default browser is Netscape Navigator.
|
||||
\end{itemize}
|
||||
|
||||
\wxheading{Derivation}
|
||||
|
||||
wxHelpControllerBase\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWinHelpController}{wxwinhelpcontroller}
|
||||
|
||||
\wxheading{Include file}
|
||||
|
||||
{\tt <wx/helpbase.h>} (for just wxHelpControllerBase)
|
||||
|
||||
{\tt <wx/help.h>} (to include the platform-specific controller, e.g. wxWinHelpController)
|
||||
|
||||
{\tt <wx/help.h>}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHelpControllerBase::wxHelpControllerBase}
|
||||
\membersection{wxHelpController::wxHelpController}
|
||||
|
||||
\func{}{wxHelpControllerBase}{\void}
|
||||
\func{}{wxHelpController}{\void}
|
||||
|
||||
Constructs a help instance object, but does not invoke the help viewer.
|
||||
|
||||
\membersection{wxHelpControllerBase::\destruct{wxHelpControllerBase}}
|
||||
\membersection{wxHelpController::\destruct{wxHelpController}}
|
||||
|
||||
\func{}{\destruct{wxHelpControllerBase}}{\void}
|
||||
\func{}{\destruct{wxHelpController}}{\void}
|
||||
|
||||
Destroys the help instance, closing down the viewer if it is running.
|
||||
|
||||
\membersection{wxHelpControllerBase::Initialize}\label{wxhelpcontrollerbaseinitialize}
|
||||
\membersection{wxHelpController::Initialize}\label{wxhelpcontrollerinitialize}
|
||||
|
||||
\func{virtual void}{Initialize}{\param{const wxString\& }{file}}
|
||||
|
||||
@@ -58,7 +61,7 @@ any attempts to communicate with the viewer.
|
||||
|
||||
You may omit the file extension and a suitable one will be chosen.
|
||||
|
||||
\membersection{wxHelpControllerBase::DisplayBlock}\label{wxhelpcontrollerbasedisplayblock}
|
||||
\membersection{wxHelpController::DisplayBlock}\label{wxhelpcontrollerdisplayblock}
|
||||
|
||||
\func{virtual bool}{DisplayBlock}{\param{long}{ blockNo}}
|
||||
|
||||
@@ -66,14 +69,14 @@ If the help viewer is not running, runs it and displays the file at the given bl
|
||||
The interpretation of {\it blockNo} differs between help viewers. If using Windows Help, this
|
||||
refers to the context number. If wxHelp, this is the wxHelp block number.
|
||||
|
||||
\membersection{wxHelpControllerBase::DisplayContents}\label{wxhelpcontrollerbasedisplaycontents}
|
||||
\membersection{wxHelpController::DisplayContents}\label{wxhelpcontrollerdisplaycontents}
|
||||
|
||||
\func{virtual bool}{DisplayContents}{\void}
|
||||
|
||||
If the help viewer is not running, runs it and displays the
|
||||
contents.
|
||||
|
||||
\membersection{wxHelpControllerBase::DisplaySection}\label{wxhelpcontrollerbasedisplaysection}
|
||||
\membersection{wxHelpController::DisplaySection}\label{wxhelpcontrollerdisplaysection}
|
||||
|
||||
\func{virtual bool}{DisplaySection}{\param{int}{ sectionNo}}
|
||||
|
||||
@@ -84,7 +87,7 @@ For wxHelp, section numbers may be viewed by running wxHelp in edit mode.
|
||||
|
||||
DisplaySection does not apply to WinHelp.
|
||||
|
||||
\membersection{wxHelpControllerBase::KeywordSearch}\label{wxhelpcontrollerbasekeywordsearch}
|
||||
\membersection{wxHelpController::KeywordSearch}\label{wxhelpcontrollerkeywordsearch}
|
||||
|
||||
\func{virtual bool}{KeywordSearch}{\param{const wxString\& }{keyWord}}
|
||||
|
||||
@@ -93,7 +96,7 @@ match is found, the file is displayed at this section. If more than one
|
||||
match is found, the Search dialog is displayed with the matches (wxHelp)
|
||||
or the first topic is displayed (Windows Help).
|
||||
|
||||
\membersection{wxHelpControllerBase::LoadFile}\label{wxhelpcontrollerbaseloadfile}
|
||||
\membersection{wxHelpController::LoadFile}\label{wxhelpcontrollerloadfile}
|
||||
|
||||
\func{virtual bool}{LoadFile}{\param{const wxString\& }{file = NULL}}
|
||||
|
||||
@@ -104,15 +107,15 @@ already displaying the specified file, it will not be reloaded. This
|
||||
member function may be used before each display call in case the user
|
||||
has opened another file.
|
||||
|
||||
\membersection{wxHelpControllerBase::OnQuit}\label{wxhelpcontrollerbaseonquit}
|
||||
\membersection{wxHelpController::OnQuit}\label{wxhelpcontrolleronquit}
|
||||
|
||||
\func{virtual bool}{OnQuit}{\void}
|
||||
|
||||
Overridable member called when this application's viewer is quit by the user.
|
||||
|
||||
This only works for wxXLPHelpController.
|
||||
This does not work for all help controllers.
|
||||
|
||||
\membersection{wxHelpControllerBase::Quit}\label{wxhelpcontrollerbasequit}
|
||||
\membersection{wxHelpController::Quit}\label{wxhelpcontrollerquit}
|
||||
|
||||
\func{virtual bool}{Quit}{\void}
|
||||
|
||||
|
@@ -147,11 +147,11 @@ Gets the position of the fifth axis of the joystick, if it exists.
|
||||
|
||||
Returns the maximum V position.
|
||||
|
||||
\membersection{wxJoystick::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}
|
||||
|
||||
|
84
docs/latex/wx/keycode.tex
Normal file
84
docs/latex/wx/keycode.tex
Normal file
@@ -0,0 +1,84 @@
|
||||
\section{Keycodes}\label{keycodes}
|
||||
|
||||
Keypresses are represented by an enumerated type, wxKeyCode. The possible values
|
||||
are the ASCII character codes, plus the following:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
WXK_BACK = 8
|
||||
WXK_TAB = 9
|
||||
WXK_RETURN = 13
|
||||
WXK_ESCAPE = 27
|
||||
WXK_SPACE = 32
|
||||
WXK_DELETE = 127
|
||||
|
||||
WXK_START = 300
|
||||
WXK_LBUTTON
|
||||
WXK_RBUTTON
|
||||
WXK_CANCEL
|
||||
WXK_MBUTTON
|
||||
WXK_CLEAR
|
||||
WXK_SHIFT
|
||||
WXK_CONTROL
|
||||
WXK_MENU
|
||||
WXK_PAUSE
|
||||
WXK_CAPITAL
|
||||
WXK_PRIOR
|
||||
WXK_NEXT
|
||||
WXK_END
|
||||
WXK_HOME
|
||||
WXK_LEFT
|
||||
WXK_UP
|
||||
WXK_RIGHT
|
||||
WXK_DOWN
|
||||
WXK_SELECT
|
||||
WXK_PRINT
|
||||
WXK_EXECUTE
|
||||
WXK_SNAPSHOT
|
||||
WXK_INSERT
|
||||
WXK_HELP
|
||||
WXK_NUMPAD0
|
||||
WXK_NUMPAD1
|
||||
WXK_NUMPAD2
|
||||
WXK_NUMPAD3
|
||||
WXK_NUMPAD4
|
||||
WXK_NUMPAD5
|
||||
WXK_NUMPAD6
|
||||
WXK_NUMPAD7
|
||||
WXK_NUMPAD8
|
||||
WXK_NUMPAD9
|
||||
WXK_MULTIPLY
|
||||
WXK_ADD
|
||||
WXK_SEPARATOR
|
||||
WXK_SUBTRACT
|
||||
WXK_DECIMAL
|
||||
WXK_DIVIDE
|
||||
WXK_F1
|
||||
WXK_F2
|
||||
WXK_F3
|
||||
WXK_F4
|
||||
WXK_F5
|
||||
WXK_F6
|
||||
WXK_F7
|
||||
WXK_F8
|
||||
WXK_F9
|
||||
WXK_F10
|
||||
WXK_F11
|
||||
WXK_F12
|
||||
WXK_F13
|
||||
WXK_F14
|
||||
WXK_F15
|
||||
WXK_F16
|
||||
WXK_F17
|
||||
WXK_F18
|
||||
WXK_F19
|
||||
WXK_F20
|
||||
WXK_F21
|
||||
WXK_F22
|
||||
WXK_F23
|
||||
WXK_F24
|
||||
WXK_NUMLOCK
|
||||
WXK_SCROLL
|
||||
\end{verbatim}
|
||||
}
|
||||
|
@@ -35,84 +35,7 @@ TRUE if control is pressed down.
|
||||
|
||||
\member{long}{m\_keyCode}
|
||||
|
||||
Virtual keycode. An enumerated type, one of:
|
||||
|
||||
\begin{verbatim}
|
||||
WXK_BACK = 8
|
||||
WXK_TAB = 9
|
||||
WXK_RETURN = 13
|
||||
WXK_ESCAPE = 27
|
||||
WXK_SPACE = 32
|
||||
WXK_DELETE = 127
|
||||
|
||||
WXK_START = 300
|
||||
WXK_LBUTTON
|
||||
WXK_RBUTTON
|
||||
WXK_CANCEL
|
||||
WXK_MBUTTON
|
||||
WXK_CLEAR
|
||||
WXK_SHIFT
|
||||
WXK_CONTROL
|
||||
WXK_MENU
|
||||
WXK_PAUSE
|
||||
WXK_CAPITAL
|
||||
WXK_PRIOR
|
||||
WXK_NEXT
|
||||
WXK_END
|
||||
WXK_HOME
|
||||
WXK_LEFT
|
||||
WXK_UP
|
||||
WXK_RIGHT
|
||||
WXK_DOWN
|
||||
WXK_SELECT
|
||||
WXK_PRINT
|
||||
WXK_EXECUTE
|
||||
WXK_SNAPSHOT
|
||||
WXK_INSERT
|
||||
WXK_HELP
|
||||
WXK_NUMPAD0
|
||||
WXK_NUMPAD1
|
||||
WXK_NUMPAD2
|
||||
WXK_NUMPAD3
|
||||
WXK_NUMPAD4
|
||||
WXK_NUMPAD5
|
||||
WXK_NUMPAD6
|
||||
WXK_NUMPAD7
|
||||
WXK_NUMPAD8
|
||||
WXK_NUMPAD9
|
||||
WXK_MULTIPLY
|
||||
WXK_ADD
|
||||
WXK_SEPARATOR
|
||||
WXK_SUBTRACT
|
||||
WXK_DECIMAL
|
||||
WXK_DIVIDE
|
||||
WXK_F1
|
||||
WXK_F2
|
||||
WXK_F3
|
||||
WXK_F4
|
||||
WXK_F5
|
||||
WXK_F6
|
||||
WXK_F7
|
||||
WXK_F8
|
||||
WXK_F9
|
||||
WXK_F10
|
||||
WXK_F11
|
||||
WXK_F12
|
||||
WXK_F13
|
||||
WXK_F14
|
||||
WXK_F15
|
||||
WXK_F16
|
||||
WXK_F17
|
||||
WXK_F18
|
||||
WXK_F19
|
||||
WXK_F20
|
||||
WXK_F21
|
||||
WXK_F22
|
||||
WXK_F23
|
||||
WXK_F24
|
||||
WXK_NUMLOCK
|
||||
WXK_SCROLL
|
||||
\end{verbatim}
|
||||
Virtual keycode. See \helpref{Keycodes}{keycodes} for a list of identifiers.
|
||||
|
||||
\membersection{wxKeyEvent::m\_metaDown}
|
||||
|
||||
@@ -174,7 +97,7 @@ Returns the Y position of the event.
|
||||
|
||||
Returns the virtual key code. ASCII events return normal ASCII values,
|
||||
while non-ASCII events return values such as {\bf WXK\_LEFT} for the
|
||||
left cursor key. See {\tt wx\_defs.h} for a full list of the virtual key codes.
|
||||
left cursor key. See \helpref{Keycodes}{keycodes} for a full list of the virtual key codes.
|
||||
|
||||
\membersection{wxKeyEvent::MetaDown}
|
||||
|
||||
|
133
docs/latex/wx/layalgor.tex
Normal file
133
docs/latex/wx/layalgor.tex
Normal file
@@ -0,0 +1,133 @@
|
||||
\section{\class{wxLayoutAlgorithm}}\label{wxlayoutalgorithm}
|
||||
|
||||
wxLayoutAlgorithm implements layout of subwindows in MDI or SDI frames.
|
||||
It sends a wxCalculateLayoutEvent event
|
||||
to children of the frame, asking them for information about
|
||||
their size. For MDI parent frames, the algorithm allocates
|
||||
the remaining space to the MDI client window (which contains the MDI child frames).
|
||||
For SDI (normal) frames, a 'main' window is specified as taking up the
|
||||
remaining space.
|
||||
|
||||
Because the event system is used, this technique can be applied to any windows,
|
||||
which are not necessarily 'aware' of the layout classes (no virtual functions
|
||||
in wxWindow refer to wxLayoutAlgorithm or its events). However, you
|
||||
may wish to use \helpref{wxSashLayoutWindow}{wxsashlayoutwindow} for your subwindows
|
||||
since this class provides handlers for the required events, and accessors
|
||||
to specify the desired size of the window. The sash behaviour in the base class
|
||||
can be used, optionally, to make the windows user-resizable.
|
||||
|
||||
wxLayoutAlgorithm is typically used in IDE (integrated development environment) applications,
|
||||
where there are several resizable windows in addition to the MDI client window, or
|
||||
other primary editing window. Resizable windows might include toolbars, a project
|
||||
window, and a window for displaying error and warning messages.
|
||||
|
||||
When a window receives an OnCalculateLayout event, it should call SetRect in
|
||||
the given event object, to be the old supplied rectangle minus whatever space the
|
||||
window takes up. It should also set its own size accordingly.
|
||||
wxSashLayoutWindow::OnCalculateLayout generates an OnQueryLayoutInfo event
|
||||
which it sends to itself to determine the orientation, alignment and size of the window,
|
||||
which it gets from internal member variables set by the application.
|
||||
|
||||
The algorithm works by starting off with a rectangle equal to the whole frame client area.
|
||||
It iterates through the frame children, generating OnCalculateLayout events which subtract
|
||||
the window size and return the remaining rectangle for the next window to process. It
|
||||
is assumed (by wxSashLayoutWindow::OnCalculateLayout) that a window stretches the full dimension
|
||||
of the frame client, according to the orientation it specifies. For example, a horizontal window
|
||||
will stretch the full width of the remaining portion of the frame client area.
|
||||
In the other orientation, the window will be fixed to whatever size was specified by
|
||||
OnQueryLayoutInfo. An alignment setting will make the window 'stick' to the left, top, right or
|
||||
bottom of the remaining client area. This scheme implies that order of window creation is important.
|
||||
Say you wish to have an extra toolbar at the top of the frame, a project window to the left of
|
||||
the MDI client window, and an output window above the status bar. You should therefore create
|
||||
the windows in this order: toolbar, output window, project window. This ensures that the toolbar and
|
||||
output window take up space at the top and bottom, and then the remaining height inbetween is used for
|
||||
the project window.
|
||||
|
||||
wxLayoutAlgorithm is quite independent of the way in which
|
||||
OnCalculateLayout chooses to interpret a window's size and alignment. Therefore you
|
||||
could implement a different window class with a new OnCalculateLayout event handler,
|
||||
that has a more sophisticated way of laying out the windows. It might allow
|
||||
specification of whether stretching occurs in the specified orientation, for example,
|
||||
rather than always assuming stretching. (This could, and probably should, be added to the existing
|
||||
implementation).
|
||||
|
||||
{\it Note:} wxLayoutAlgorithm has nothing to do with wxLayoutConstraints. It is an alternative
|
||||
way of specifying layouts for which the normal constraint system is unsuitable.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
The algorithm object does not respond to events, but itself generates the
|
||||
following events in order to calculate window sizes.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_QUERY\_LAYOUT\_INFO(func)}}{Process a wxEVT\_QUERY\_LAYOUT\_INFO event,
|
||||
to get size, orientation and alignment from a window. See \helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}.}
|
||||
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
|
||||
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.
|
||||
See \helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data types}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxLayoutOrientation {
|
||||
wxLAYOUT_HORIZONTAL,
|
||||
wxLAYOUT_VERTICAL
|
||||
};
|
||||
|
||||
enum wxLayoutAlignment {
|
||||
wxLAYOUT_NONE,
|
||||
wxLAYOUT_TOP,
|
||||
wxLAYOUT_LEFT,
|
||||
wxLAYOUT_RIGHT,
|
||||
wxLAYOUT_BOTTOM,
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashEvent}{wxsashevent}, \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}, \helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent},\rtfsp
|
||||
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxSashWindow}{wxsashwindow}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxLayoutAlgorithm::wxLayoutAlgorithm}
|
||||
|
||||
\func{}{wxLayoutAlgorithm}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\membersection{wxLayoutAlgorithm::\destruct{wxLayoutAlgorithm}}
|
||||
|
||||
\func{}{\destruct{wxLayoutAlgorithm}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxLayoutAlgorithm::LayoutMDIFrame}\label{wxlayoutalgorithmlayoutmdiframe}
|
||||
|
||||
\constfunc{bool}{LayoutMDIFrame}{\param{wxMDIParentFrame* }{frame}, \param{wxRect*}{ rect = NULL}}
|
||||
|
||||
Lays out the children of an MDI parent frame. If {\it rect} is non-NULL, the
|
||||
given rectangle will be used as a starting point instead of the frame's client area.
|
||||
|
||||
The MDI client window is set to occupy the remaining space.
|
||||
|
||||
\membersection{wxLayoutAlgorithm::LayoutFrame}\label{wxlayoutalgorithmlayoutframe}
|
||||
|
||||
\constfunc{bool}{LayoutFrame}{\param{wxFrame* }{frame}, \param{wxWindow*}{ mainWindow}}
|
||||
|
||||
Lays out the children of a normal frame.
|
||||
|
||||
{\it mainWindow} is set to occupy the remaining space.
|
||||
|
@@ -36,9 +36,20 @@ select multiple items using the SHIFT key and the mouse or special key combinati
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED event,
|
||||
when the listbox is doubleclicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl}
|
||||
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -35,6 +35,28 @@ the list wraps, unlike a wxListBox.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a list control, use these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxListEvent}{wxlistevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ITEM(id, func)}}{Delete an item.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)}}{Delete all items.}
|
||||
\twocolitem{{\bf EVT\_LIST\_GET\_INFO(id, func)}}{Request information from the application, usually the item text.}
|
||||
\twocolitem{{\bf EVT\_LIST\_SET\_INFO(id, func)}}{Information is being supplied (not implemented).}
|
||||
\twocolitem{{\bf EVT\_LIST\_ITEM\_SELECTED(id, func)}}{The item has been selected.}
|
||||
\twocolitem{{\bf EVT\_LIST\_ITEM\_DESELECTED(id, func)}}{The item has been deselected.}
|
||||
\twocolitem{{\bf EVT\_LIST\_KEY\_DOWN(id, func)}}{A key has been pressed.}
|
||||
\twocolitem{{\bf EVT\_LIST\_INSERT\_ITEM(id, func)}}{An item has been inserted.}
|
||||
\twocolitem{{\bf EVT\_LIST\_COL\_CLICK(id, func)}}{A column ({\bf m\_col}) has been left-clicked.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxTreeCtrl}{wxtreectrl},\rtfsp
|
||||
|
186
docs/latex/wx/log.tex
Normal file
186
docs/latex/wx/log.tex
Normal file
@@ -0,0 +1,186 @@
|
||||
\section{\class{wxLog}}\label{wxlog}
|
||||
|
||||
wxLog class defines the interface for the {\it log targets} used by wxWindows
|
||||
logging functions as explained in the \helpref{wxLog overview}{wxlogoverview}.
|
||||
The only situations when you need to directly use this class is when you want
|
||||
to derive your own log target because the existing ones don't satisfy your
|
||||
needs. Another case is if you wish to customize the behaviour of the standard
|
||||
logging classes (all of which respect the wxLog settings): for example, set
|
||||
which trace messages are logged and which are not or change (or even remove
|
||||
completely) the timestamp on the messages.
|
||||
|
||||
Otherwise, it is completely hidden behind the {\it wxLogXXX()} functions and
|
||||
you may not even know about its existence.
|
||||
|
||||
See \helpref{log overview}{wxlogoverview} for the descriptions of wxWindows
|
||||
logging facilities.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{Static functions}
|
||||
|
||||
The functions in this section work with and manipulate the active log target.
|
||||
The {\it OnLog()} is called by the {\it wxLogXXX()} functions and invokes the
|
||||
{\it DoLog()} of the active log target if any. Get/Set methods are used to
|
||||
install/query the current active target and, finally, {\it
|
||||
DontCreateOnDemand()} disables the automatic creation of a standard log target
|
||||
if none actually exists. It is only useful when the application is terminating
|
||||
and shouldn't be used in other situations because it may easily lead to a loss
|
||||
of messages.
|
||||
|
||||
\helpref{OnLog}{wxlogonlog}\\
|
||||
\helpref{GetActiveTarget}{wxloggetactivetarget}\\
|
||||
\helpref{SetActiveTarget}{wxlogsetactivetarget}\\
|
||||
\helpref{DontCreateOnDemand}{wxlogdontcreateondemand}
|
||||
|
||||
\membersection{Message buffering}
|
||||
|
||||
Some of wxLog implementations, most notably the standard
|
||||
wxLogGui class, buffer the messages (for example, to avoid
|
||||
showing the user a zillion of modal message boxes one after another - which
|
||||
would be really annoying). {\it Flush()} shows them all and clears the buffer
|
||||
contents. Although this function doesn't do anything if the buffer is already
|
||||
empty, {\it HasPendingMessages()} is also provided which allows to explicitly
|
||||
verify it.
|
||||
|
||||
\helpref{Flush}{wxlogflush}\\
|
||||
\helpref{HasPendingMessages}{haspendingmessages}
|
||||
|
||||
\membersection{Customization}\label{wxlogcustomization}
|
||||
|
||||
The functions below allow some limited customization of wxLog behaviour
|
||||
without writing a new log target class (which, aside of being a matter of
|
||||
several minutes, allows you to do anything you want).
|
||||
|
||||
The verbose messages are the trace messages which are not disabled in the
|
||||
release mode and are generated by {\it wxLogVerbose()}. They are not normally
|
||||
shown to the user because they present little interest, but may be activated,
|
||||
for example, in order to help the user find some program problem.
|
||||
|
||||
As for the (real) trace messages, they come in different kinds:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{wxTraceMemAlloc} for the messages about creating and deleting objects
|
||||
\item{wxTraceMessages} for tracing the windowing system messages/events
|
||||
\item{wxTraceResAlloc} for allocating and releasing the system ressources
|
||||
\item{wxTraceRefCount} for reference counting related messages
|
||||
\item{wxTraceOleCalls} for the OLE (or COM) method invocations (wxMSW only)
|
||||
\item{other} the remaining bits are free for user-defined trace levels
|
||||
\end{itemize}
|
||||
|
||||
The trace mask is a bit mask which tells which (if any) of these trace
|
||||
messages are going to be actually logged. For the trace message to appear
|
||||
somewhere, all the bits in the mask used in the call to {\it wxLogTrace()}
|
||||
function must be set in the current trace mask. For example,
|
||||
\begin{verbatim}
|
||||
wxLogTrace(wxTraceRefCount | wxTraceOle, "Active object ref count: %d", nRef);
|
||||
\end{verbatim}
|
||||
will do something only if the current trace mask contains both wxTraceRefCount
|
||||
and wxTraceOle.
|
||||
|
||||
Finally, the {\it wxLog::DoLog()} function automatically prepends a time stamp
|
||||
to all the messages. The format of the time stamp may be changed: it can be
|
||||
any string with \% specificators fully described in the documentation of the
|
||||
standard {\it strftime()} function. For example, the default format is
|
||||
"[\%d/\%b/\%y \%H:\%M:\%S] " which gives something like "[17/Sep/98 22:10:16] "
|
||||
(without quotes) for the current date. Setting an empty string as the time
|
||||
format disables timestamping of the messages completely.
|
||||
|
||||
\helpref{SetVerbose}{wxlogsetverbose}\\
|
||||
\helpref{GetVerbose}{wxloggetverbose}\\
|
||||
\helpref{SetTimeStampFormat}{wxlogsettimestampformat}\\
|
||||
\helpref{GetTimeStampFormat}{wxloggettimestampformat}\\
|
||||
\helpref{SetTraceMask}{wxlogsettracemask}\\
|
||||
\helpref{GetTraceMask}{wxloggettracemask}
|
||||
|
||||
%%%%% MEMBERS HERE %%%%%
|
||||
\helponly{\insertatlevel{2}{
|
||||
|
||||
\wxheading{Members}
|
||||
|
||||
}}
|
||||
|
||||
\membersection{wxLog::OnLog}\label{wxlogonlog}
|
||||
|
||||
\func{static void}{OnLog}{\param{wxLogLevel }{ level}, \param{const char * }{ message}}
|
||||
|
||||
Forwards the message at specified level to the {\it DoLog()} function of the
|
||||
active log target if there is any, does nothing otherwise.
|
||||
|
||||
\membersection{wxLog::GetActiveTarget}\label{wxloggetactivetarget}
|
||||
|
||||
\func{static wxLog *}{GetActiveTarget}{\void}
|
||||
|
||||
Returns the pointer to the active log target (may be NULL).
|
||||
|
||||
\membersection{wxLog::SetActiveTarget}\label{wxlogsetactivetarget}
|
||||
|
||||
\func{static wxLog *}{SetActiveTarget}{\param{wxLog * }{ logtarget}}
|
||||
|
||||
Sets the specified log target as the active one. Returns the pointer to the
|
||||
previous active log target (may be NULL).
|
||||
|
||||
\membersection{wxLog::DontCreateOnDemand}\label{wxlogdontcreateondemand}
|
||||
|
||||
\func{static void}{DontCreateOnDemand}{\void}
|
||||
|
||||
Instructs wxLog to not create new log targets on the fly if there is none
|
||||
currently. (Almost) for internal use only.
|
||||
|
||||
\membersection{wxLog::Flush}\label{wxlogflush}
|
||||
|
||||
\func{virtual void}{Flush}{\void}
|
||||
|
||||
Shows all the messages currently in buffer and clears it. If the buffer
|
||||
is already empty, nothing happens.
|
||||
|
||||
\membersection{wxLog::HasPendingMessages}\label{haspendingmessages}
|
||||
|
||||
\constfunc{bool}{HasPendingMessages}{\void}
|
||||
|
||||
Returns true if there are any messages in the buffer (not yet shown to the
|
||||
user). (Almost) for internal use only.
|
||||
|
||||
\membersection{wxLog::SetVerbose}\label{wxlogsetverbose}
|
||||
|
||||
\func{void}{SetVerbose}{\param{bool }{ verbose = TRUE}}
|
||||
|
||||
Activates or desactivates verbose mode in which the verbose messages are
|
||||
logged as the normal ones instead of being silently dropped.
|
||||
|
||||
\membersection{wxLog::GetVerbose}\label{wxloggetverbose}
|
||||
|
||||
\constfunc{bool}{GetVerbose}{\void}
|
||||
|
||||
Returns whether the verbose mode is currently active.
|
||||
|
||||
\membersection{wxLog::SetTimeStampFormat}\label{wxlogsettimestampformat}
|
||||
|
||||
\func{void}{SetTimeStampFormat}{\param{const char * }{ format}}
|
||||
|
||||
Sets the timestamp format prepended by the default log targets to all
|
||||
messages. The string may contain any normal characters as well as \%
|
||||
prefixed format specificators, see {\it strftime()} manual for details.
|
||||
Passing an empty string to this function disables message timestamping.
|
||||
|
||||
\membersection{wxLog::GetTimeStampFormat}\label{wxloggettimestampformat}
|
||||
|
||||
\constfunc{const char *}{GetTimeStampFormat}{\void}
|
||||
|
||||
Returns the current timestamp format string.
|
||||
|
||||
\membersection{wxLog::SetTraceMask}\label{wxlogsettracemask}
|
||||
|
||||
\func{static void}{SetTraceMask}{\param{wxTraceMask }{ mask}}
|
||||
|
||||
Sets the trace mask, see \helpref{Customization}{wxlogcustomization}
|
||||
section for details.
|
||||
|
||||
\membersection{wxLog::GetTraceMask}\label{wxloggettracemask}
|
||||
|
||||
Returns the current trace mask, see \helpref{Customization}{wxlogcustomization} section
|
||||
for details.
|
@@ -1,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{\pipe}[0]{$\|$\ }%
|
||||
\definecolour{black}{0}{0}{0}%
|
||||
@@ -16,11 +26,11 @@
|
||||
\parskip=10pt
|
||||
\parindent=0pt
|
||||
\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}$$}
|
||||
}}
|
||||
\winhelpignore{\author{Julian Smart}
|
||||
\date{June 4th 1998}
|
||||
\date{November 4th 1998}
|
||||
}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
@@ -75,7 +85,8 @@
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
\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\\
|
||||
\end{center}
|
||||
|
||||
@@ -89,7 +100,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
|
||||
UNIVERSITY OF EDINBURGH OR 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
|
||||
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
|
||||
@@ -100,6 +111,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
\helpinput{category.tex}
|
||||
\helpinput{topics.tex}
|
||||
|
||||
\begin{comment}
|
||||
\newpage
|
||||
|
||||
% Puts books in the bibliography without needing to cite them in the
|
||||
@@ -115,6 +127,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
\addcontentsline{toc}{chapter}{Bibliography}
|
||||
\setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
\end{comment}
|
||||
|
||||
\newpage
|
||||
\addcontentsline{toc}{chapter}{Index}
|
||||
|
@@ -21,7 +21,7 @@ With a popup menu, there is a variety of ways to handle a menu selection event
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item Define a callback of type wxFunction, which you pass to the wxMenu constructor.
|
||||
The callback takes a reference to 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 Set a new event handler for wxMenu, using an object whose class has EVT\_MENU entries.
|
||||
\item Provide EVT\_MENU handlers in the window which pops up the menu, or in an ancestor of
|
||||
@@ -525,6 +525,18 @@ Use only after the menubar has been associated with a frame.
|
||||
|
||||
\helpref{wxMenuBar::SetLabelTop}{wxmenubarsetlabeltop}
|
||||
|
||||
\membersection{wxMenuBar::GetMenu}\label{wxmenubargetmenu}
|
||||
|
||||
\constfunc{wxMenu*}{GetMenu}{\param{int}{ menuIndex}}
|
||||
|
||||
Returns the menu at {\it menuIndex} (zero-based).
|
||||
|
||||
\membersection{wxMenuBar::GetMenuCount}\label{wxmenubargetmenucount}
|
||||
|
||||
\constfunc{int}{GetMenuCount}{\void}
|
||||
|
||||
Returns the number of menus in this menubar.
|
||||
|
||||
\membersection{wxMenuBar::IsChecked}\label{wxmenubarischecked}
|
||||
|
||||
\constfunc{bool}{IsChecked}{\param{int}{ id}}
|
||||
|
@@ -141,27 +141,27 @@ Returns TRUE if the item is a separator.
|
||||
|
||||
\membersection{wxMenuItem::SetBackgroundColour}\label{wxmenuitemsetbackgroundcolour}
|
||||
|
||||
\constfunc{void}{SetBackgroundColour}{\param{const wxColour& }{colour}}
|
||||
\constfunc{void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
|
||||
|
||||
Sets the background colour associated with the menu item (Windows only).
|
||||
|
||||
\membersection{wxMenuItem::SetBitmaps}\label{wxmenuitemsetbitmaps}
|
||||
|
||||
\constfunc{void}{SetBitmaps}{\param{const wxBitmap& }{checked},
|
||||
\param{const wxBitmap& }{unchecked = wxNullBitmap}}
|
||||
\constfunc{void}{SetBitmaps}{\param{const wxBitmap\& }{checked},
|
||||
\param{const wxBitmap\& }{unchecked = wxNullBitmap}}
|
||||
|
||||
Sets the checked/unchecked bitmaps for the menu item (Windows only). The first bitmap
|
||||
is also used as the single bitmap for uncheckable menu items.
|
||||
|
||||
\membersection{wxMenuItem::SetFont}\label{wxmenuitemsetfont}
|
||||
|
||||
\constfunc{void}{SetFont}{\param{const wxFont& }{font}}
|
||||
\constfunc{void}{SetFont}{\param{const wxFont\& }{font}}
|
||||
|
||||
Sets the font associated with the menu item (Windows only).
|
||||
|
||||
\membersection{wxMenuItem::SetHelp}\label{wxmenuitemsethelp}
|
||||
|
||||
\constfunc{void}{SetHelp}{\param{const wxString& }{helpString}}
|
||||
\constfunc{void}{SetHelp}{\param{const wxString\& }{helpString}}
|
||||
|
||||
Sets the help string.
|
||||
|
||||
@@ -173,14 +173,19 @@ Sets the width of the menu item checkmark bitmap (Windows only).
|
||||
|
||||
\membersection{wxMenuItem::SetName}\label{wxmenuitemsetname}
|
||||
|
||||
\constfunc{void}{SetName}{\param{const wxString& }{text}}
|
||||
\constfunc{void}{SetName}{\param{const wxString\& }{text}}
|
||||
|
||||
Sets the text associated with the menu item.
|
||||
|
||||
\membersection{wxMenuItem::SetTextColour}\label{wxmenuitemsettextcolour}
|
||||
|
||||
\constfunc{void}{SetTextColour}{\param{const wxColour& }{colour}}
|
||||
\constfunc{void}{SetTextColour}{\param{const wxColour\& }{colour}}
|
||||
|
||||
Sets the text colour associated with the menu item (Windows only).
|
||||
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -58,7 +58,7 @@ need for an application to call it.
|
||||
|
||||
\membersection{wxModule::OnExit}\label{wxmoduleonexit}
|
||||
|
||||
\func{virtual bool}{OnExit}{\void}
|
||||
\func{virtual void}{OnExit}{\void}
|
||||
|
||||
Provide this function with appropriate cleanup for your module.
|
||||
|
||||
|
@@ -26,6 +26,7 @@ functions that take a wxMouseEvent argument.
|
||||
\twocolitem{{\bf EVT\_MOTION(func)}}{Process a wxEVT\_MOTION event.}
|
||||
\twocolitem{{\bf EVT\_ENTER\_WINDOW(func)}}{Process a wxEVT\_ENTER\_WINDOW event.}
|
||||
\twocolitem{{\bf EVT\_LEAVE\_WINDOW(func)}}{Process a wxEVT\_LEAVE\_WINDOW event.}
|
||||
\twocolitem{{\bf EVT\_MOUSE\_EVENTS(func)}}{Process all mouse events.}
|
||||
\end{twocollist}%
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
259
docs/latex/wx/notebook.tex
Normal file
259
docs/latex/wx/notebook.tex
Normal file
@@ -0,0 +1,259 @@
|
||||
\section{\class{wxNotebook}}\label{wxnotebook}
|
||||
|
||||
This class represents a notebook control, which manages multiple windows with associated tabs.
|
||||
|
||||
To use the class, create a wxNotebook object and call \helpref{AddPage}{wxnotebookaddpage} or \helpref{InsertPage}{wxnotebookinsertpage},
|
||||
passing a window to be used as the page. Do not explicitly delete the window for a page that is currently
|
||||
managed by wxNotebook.
|
||||
|
||||
{\bf wxNotebookPage} is a typedef for wxWindow.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a notebook control, use the following event handler macros to direct input to member
|
||||
functions that take a \helpref{wxNotebookEvent}{wxnotebookevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGED(id, func)}}{The page selection was changed. Processes a
|
||||
wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGING(id, func)}}{The page selection is about to be changed.
|
||||
Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist},\rtfsp
|
||||
\helpref{wxTabCtrl}{wxtabctrl}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxNotebook::wxNotebook}\label{wxnotebookconstr}
|
||||
|
||||
\func{}{wxNotebook}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxNotebook}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
\param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
|
||||
|
||||
Constructs a notebook control.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{The parent window. Must be non-NULL.}
|
||||
|
||||
\docparam{id}{The window identifier.}
|
||||
|
||||
\docparam{pos}{The window position.}
|
||||
|
||||
\docparam{size}{The window size.}
|
||||
|
||||
\docparam{style}{The window style. Its value is a bit list of zero or more of {\bf wxTC\_MULTILINE},
|
||||
{\bf wxTC\_RIGHTJUSTIFY}, {\bf wxTC\_FIXEDWIDTH} and {\bf wxTC\_OWNERDRAW}.}
|
||||
|
||||
\membersection{wxNotebook::\destruct{wxNotebook}}
|
||||
|
||||
\func{}{\destruct{wxNotebook}}{\void}
|
||||
|
||||
Destroys the wxNotebook object.
|
||||
|
||||
\membersection{wxNotebook::AddPage}\label{wxnotebookaddpage}
|
||||
|
||||
\func{bool}{AddPage}{\param{wxNotebookPage*}{ page},
|
||||
\param{const wxString\&}{ text},
|
||||
\param{bool}{ select = FALSE},
|
||||
\param{int}{ imageId = -1}}
|
||||
|
||||
Adds a new page.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{page}{Specifies the new page.}
|
||||
|
||||
\docparam{text}{Specifies the text for the new page.}
|
||||
|
||||
\docparam{select}{Specifies whether the page should be selected.}
|
||||
|
||||
\docparam{imageId}{Specifies the optional image index for the new page.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if successful, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Do not delete the page, it will be deleted by the notebook.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook::InsertPage}{wxnotebookinsertpage}
|
||||
|
||||
\membersection{wxNotebook::AdvanceSelection}\label{wxnotebookadvanceselection}
|
||||
|
||||
\func{void}{AdvanceSelection}{\param{bool}{ forward = TRUE}}
|
||||
|
||||
Cycles through the tabs.
|
||||
|
||||
\membersection{wxNotebook::Create}\label{wxnotebookcreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
\param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
|
||||
|
||||
Creates a notebook control. See \helpref{wxNotebook::wxNotebook}{wxnotebookconstr} for a description
|
||||
of the parameters.
|
||||
|
||||
\membersection{wxNotebook::DeleteAllPages}\label{wxnotebookdeleteallpages}
|
||||
|
||||
\func{bool}{DeleteAllPages}{\void}
|
||||
|
||||
Deletes all pages.
|
||||
|
||||
\membersection{wxNotebook::DeletePage}\label{wxnotebookdeletepage}
|
||||
|
||||
\func{bool}{DeletePage}{\param{int}{ page}}
|
||||
|
||||
Deletes the specified page.
|
||||
|
||||
\membersection{wxNotebook::GetImageList}\label{wxnotebookgetimagelist}
|
||||
|
||||
\constfunc{wxImageList*}{GetImageList}{\void}
|
||||
|
||||
Returns the associated image list.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxImageList}{wximagelist}, \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}
|
||||
|
||||
\membersection{wxNotebook::GetPage}\label{wxnotebookgetpage}
|
||||
|
||||
\func{wxNotebookPage*}{GetPage}{\param{int}{ page}}
|
||||
|
||||
Returns the window at the given page position.
|
||||
|
||||
\membersection{wxNotebook::GetPageCount}\label{wxnotebookgetpagecount}
|
||||
|
||||
\constfunc{int}{GetPageCount}{\void}
|
||||
|
||||
Returns the number of pages in the notebook control.
|
||||
|
||||
\membersection{wxNotebook::GetPageImage}\label{wxnotebookgetpageimage}
|
||||
|
||||
\constfunc{int}{GetPageImage}{\void}
|
||||
|
||||
Returns the image index for the given page.
|
||||
|
||||
\membersection{wxNotebook::GetPageText}\label{wxnotebookgetpagetext}
|
||||
|
||||
\constfunc{wxString}{GetPageText}{\void}
|
||||
|
||||
Returns the string for the given page.
|
||||
|
||||
\membersection{wxNotebook::GetRowCount}\label{wxnotebookgetrowcount}
|
||||
|
||||
\constfunc{int}{GetRowCount}{\void}
|
||||
|
||||
Returns the number of rows in the notebook control.
|
||||
|
||||
\membersection{wxNotebook::GetSelection}\label{wxnotebookgetselection}
|
||||
|
||||
\constfunc{int}{GetSelection}{\void}
|
||||
|
||||
Returns the currently selected page, or -1 if none was selected.
|
||||
|
||||
\membersection{wxNotebook::InsertPage}\label{wxnotebookinsertpage}
|
||||
|
||||
\func{bool}{InsertPage}{\param{int}{ index}, \param{wxNotebookPage*}{ page},
|
||||
\param{const wxString\&}{ text},
|
||||
\param{bool}{ select = FALSE},
|
||||
\param{int}{ imageId = -1}}
|
||||
|
||||
Inserts a new page at the specified position.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{index}{Specifies the position for the new page.}
|
||||
|
||||
\docparam{page}{Specifies the new page.}
|
||||
|
||||
\docparam{text}{Specifies the text for the new page.}
|
||||
|
||||
\docparam{select}{Specifies whether the page should be selected.}
|
||||
|
||||
\docparam{imageId}{Specifies the optional image index for the new page.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if successful, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Do not delete the page, it will be deleted by the notebook.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook::AddPage}{wxnotebookaddpage}
|
||||
|
||||
\membersection{wxNotebook::OnSelChange}\label{wxnotebookonselchange}
|
||||
|
||||
\func{void}{OnSelChange}{\param{wxNotebookEvent\&}{ event}}
|
||||
|
||||
An event handler function, called when the page selection is changed.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebookEvent}{wxnotebookevent}
|
||||
|
||||
\membersection{wxNotebook::SetImageList}\label{wxnotebooksetimagelist}
|
||||
|
||||
\func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
|
||||
|
||||
Sets the image list for the page control.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxImageList}{wximagelist}
|
||||
|
||||
\membersection{wxNotebook::SetPadding}\label{wxnotebooksetpadding}
|
||||
|
||||
\func{void}{SetPadding}{\param{const wxSize\&}{ padding}}
|
||||
|
||||
Sets the amount of space around each page's icon and label, in pixels.
|
||||
|
||||
\membersection{wxNotebook::SetPageSize}\label{wxnotebooksetpagesize}
|
||||
|
||||
\func{void}{SetPageSize}{\param{const wxSize\&}{ size}}
|
||||
|
||||
Sets the width and height of the pages.
|
||||
|
||||
\membersection{wxNotebook::SetPageImage}\label{wxnotebooksetpageimage}
|
||||
|
||||
\func{bool}{SetPageImage}{\param{int}{ page}, \param{int }{image}}
|
||||
|
||||
Sets the image index for the given page. {\it image} is an index into
|
||||
the image list which was set with \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}.
|
||||
|
||||
\membersection{wxNotebook::SetPageText}\label{wxnotebooksetpagetext}
|
||||
|
||||
\func{bool}{SetPageText}{\param{int}{ page}, \param{const wxString\& }{text}}
|
||||
|
||||
Sets the text for the given page.
|
||||
|
||||
\membersection{wxNotebook::SetSelection}\label{wxnotebooksetselection}
|
||||
|
||||
\func{int}{SetSelection}{\param{int}{ page}}
|
||||
|
||||
Sets the selection for the given page, returning the previous selection.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook::GetSelection}{wxnotebookgetselection}
|
||||
|
||||
|
66
docs/latex/wx/noteevt.tex
Normal file
66
docs/latex/wx/noteevt.tex
Normal file
@@ -0,0 +1,66 @@
|
||||
\section{\class{wxNotebookEvent}}\label{wxnotebookevent}
|
||||
|
||||
This class represents the events generated by a notebook control.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxCommandEvent}{wxcommandevent}\\
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a notebook event, use these event handler macros to direct input to member
|
||||
functions that take a wxNotebookEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGED(id, func)}}{The page selection was changed. Processes a
|
||||
wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGING(id, func)}}{The page selection is about to be changed.
|
||||
Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook}{wxnotebook}, \helpref{wxTabCtrl}{wxtabctrl}, \helpref{wxTabEvent}{wxtabevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxNotebookEvent::wxNotebookEvent}\label{wxnotebookeventconstr}
|
||||
|
||||
\func{}{wxNotebookEvent}{\param{wxEventType}{ eventType = wxEVT\_NULL},
|
||||
\param{int}{ id = 0}, \param{int}{ sel = -1}, \param{int}{ oldSel = -1}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxNotebookEvent::GetOldSelection}\label{wxnotebookeventgetoldselection}
|
||||
|
||||
\constfunc{int}{GetOldSelection}{\void}
|
||||
|
||||
Returns the page that was selected before the change, -1 if none was selected.
|
||||
|
||||
\membersection{wxNotebookEvent::GetSelection}\label{wxnotebookeventgetselection}
|
||||
|
||||
\constfunc{int}{GetSelection}{\void}
|
||||
|
||||
Returns the currently selected page, or -1 if none was selected.
|
||||
|
||||
\membersection{wxNotebookEvent::SetOldSelection}\label{wxnotebookeventsetoldselection}
|
||||
|
||||
\func{void}{SetOldSelection}{\param{int}{ page}}
|
||||
|
||||
Sets the id of the page selected before the change.
|
||||
|
||||
\membersection{wxNotebookEvent::SetSelection}\label{wxnotebookeventsetselection}
|
||||
|
||||
\func{void}{SetSelection}{\param{int}{ page}}
|
||||
|
||||
Sets the selection member variable.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection}
|
||||
|
||||
|
@@ -15,7 +15,8 @@ isn't overriden.
|
||||
\func{}{wxProcess}{\param{wxEvtHandler *}{ parent = NULL}, \param{int}{ id = -1}}
|
||||
|
||||
Constructs a process object. {\it id} is only used in the case you want to
|
||||
use wxWindows events.
|
||||
use wxWindows events. It identifies this object, or another window that will
|
||||
receive the event.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
@@ -37,3 +38,4 @@ It is called when the process with the pid {\it pid} finishes.
|
||||
It raises a wxWindows event when it isn't overriden.
|
||||
|
||||
\docparam{pid}{The pid of the process which ends.}
|
||||
|
||||
|
52
docs/latex/wx/procevt.tex
Normal file
52
docs/latex/wx/procevt.tex
Normal file
@@ -0,0 +1,52 @@
|
||||
\section{\class{wxProcessEvent}}\label{wxprocessevent}
|
||||
|
||||
A process event is sent when a process is terminated.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a wxProcessEvent, use these event handler macros to direct input to a member
|
||||
function that takes a wxProcessEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_END\_PROCESS(id, func)}}{Process a wxEVT\_END\_PROCESS event.
|
||||
{\it id} is the identifier of the process object (the id passed to the wxProcess constructor)
|
||||
or a window to receive the event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxProcess}{wxprocess},\rtfsp
|
||||
\helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxProcessEvent::wxProcessEvent}
|
||||
|
||||
\func{}{wxProcessEvent}{\param{int }{id = 0}, \param{int }{pid = 0}}
|
||||
|
||||
Constructor. Takes a wxProcessObject or window id, and a process id.
|
||||
|
||||
\membersection{wxProcessEvent::m\_pid}
|
||||
|
||||
\member{int}{m\_pid}
|
||||
|
||||
Contains the process id.
|
||||
|
||||
\membersection{wxProcessEvent::GetPid}\label{wxprocesseventgetpid}
|
||||
|
||||
\constfunc{int}{GetPid}{\void}
|
||||
|
||||
Returns the process id.
|
||||
|
||||
\membersection{wxProcessEvent::SetPid}\label{wxprocesseventsetpid}
|
||||
|
||||
\func{void}{SetPid}{\param{int}{ pid}}
|
||||
|
||||
Sets the process id.
|
||||
|
118
docs/latex/wx/qylayevt.tex
Normal file
118
docs/latex/wx/qylayevt.tex
Normal file
@@ -0,0 +1,118 @@
|
||||
\section{\class{wxQueryLayoutInfoEvent}}\label{wxquerylayoutinfoevent}
|
||||
|
||||
This event is sent when \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} wishes to get
|
||||
the size, orientation and alignment of a window. More precisely, the event is sent
|
||||
by the OnCalculateLayout handler which is itself invoked by wxLayoutAlgorithm.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_QUERY\_LAYOUT\_INFO(func)}}{Process a wxEVT\_QUERY\_LAYOUT\_INFO event,
|
||||
to get size, orientation and alignment from a window.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxLayoutOrientation {
|
||||
wxLAYOUT_HORIZONTAL,
|
||||
wxLAYOUT_VERTICAL
|
||||
};
|
||||
|
||||
enum wxLayoutAlignment {
|
||||
wxLAYOUT_NONE,
|
||||
wxLAYOUT_TOP,
|
||||
wxLAYOUT_LEFT,
|
||||
wxLAYOUT_RIGHT,
|
||||
wxLAYOUT_BOTTOM,
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::wxQueryLayoutInfoEvent}
|
||||
|
||||
\func{}{wxQueryLayoutInfoEvent}{\param{wxWindowID }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetAlignment}\label{wxquerylayoutinfoeventgetalignment}
|
||||
|
||||
\constfunc{void}{GetAlignment}{\void}
|
||||
|
||||
Specifies the alignment of the window (which side of the remaining parent client area
|
||||
the window sticks to). One of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetFlags}\label{wxquerylayoutinfoeventgetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetOrientation}\label{wxquerylayoutinfoeventgetorientation}
|
||||
|
||||
\constfunc{wxLayoutOrientation}{GetOrientation}{\void}
|
||||
|
||||
Returns the orientation that the event handler specified to the event object. May be one of wxLAYOUT\_HORIZONTAL,
|
||||
wxLAYOUT\_VERTICAL.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetRequestedLength}\label{wxquerylayoutinfoeventgetrequestedlength}
|
||||
|
||||
\constfunc{int}{GetRequestedLength}{\void}
|
||||
|
||||
Returns the requested length of the window in the direction of the window orientation. This information
|
||||
is not yet used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetSize}\label{wxquerylayoutinfoeventgetsize}
|
||||
|
||||
\constfunc{wxSize}{GetSize}{\void}
|
||||
|
||||
Returns the size that the event handler specified to the event object as being the requested size of the window.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetAlignment}\label{wxquerylayoutinfoeventsetalignment}
|
||||
|
||||
\func{void}{SetAlignment}{\param{wxLayoutAlignment }{alignment}}
|
||||
|
||||
Call this to specify the alignment of the window (which side of the remaining parent client area
|
||||
the window sticks to). May be one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetFlags}\label{wxquerylayoutinfoeventsetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{int }{flags}}
|
||||
|
||||
Sets the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetOrientation}\label{wxquerylayoutinfoeventsetorientation}
|
||||
|
||||
\func{void}{SetOrientation}{\param{wxLayoutOrientation }{orientation}}
|
||||
|
||||
Call this to specify the orientation of the window. May be one of wxLAYOUT\_HORIZONTAL,
|
||||
wxLAYOUT\_VERTICAL.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetRequestedLength}\label{wxquerylayoutinfoeventsetrequestedlength}
|
||||
|
||||
\func{void}{SetRequestedLength}{\param{int}{ length}}
|
||||
|
||||
Sets the requested length of the window in the direction of the window orientation. This information
|
||||
is not yet used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetSize}\label{wxquerylayoutinfoeventsetsize}
|
||||
|
||||
\func{void}{SetSize}{\param{const wxSize\& }{size}}
|
||||
|
||||
Call this to let the calling code know what the size of the window is.
|
||||
|
@@ -21,6 +21,14 @@ labelled buttons.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_RADIOBOX(id, func)}}{Process a wxEVT\_COMMAND\_RADIOBOX\_SELECTED event,
|
||||
when a radiobutton is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioButton}{wxradiobutton},\rtfsp
|
||||
|
@@ -16,6 +16,14 @@ There are no specific styles for this class.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_RADIOBUTTON(id, func)}}{Process a wxEVT\_COMMAND\_RADIOBUTTON\_SELECTED event,
|
||||
when the radiobutton is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioBox}{wxradiobox},\rtfsp
|
||||
|
@@ -1,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{\pipe}[0]{$\|$\ }%
|
||||
\input psbox.tex
|
||||
@@ -9,8 +17,8 @@
|
||||
\parskip=10pt
|
||||
\parindent=0pt
|
||||
\title{Reference Manual for wxWindows 2.0: a portable C++ GUI toolkit}
|
||||
\author{Julian Smart and Markus Holzem}
|
||||
\date{October 21st 1997}
|
||||
\author{Julian Smart}
|
||||
\date{November 4th 1998}
|
||||
|
||||
\makeindex
|
||||
\begin{document}
|
||||
@@ -29,7 +37,8 @@
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}
|
||||
|
||||
\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\\
|
||||
\end{center}
|
||||
|
||||
@@ -43,7 +52,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
|
||||
UNIVERSITY OF EDINBURGH OR 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
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF
|
||||
DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH
|
||||
|
@@ -8,6 +8,10 @@ reference counting, so copying and assignment operations are fast.
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxRegionIterator}{wxregioniterator}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxRegion::wxRegion}\label{wxregionconstr}
|
||||
@@ -179,4 +183,105 @@ for any overlapping areas. The result is stored in this region.
|
||||
|
||||
Copies {\it region} by reference counting.
|
||||
|
||||
\section{\class{wxRegionIterator}}\label{wxregioniterator}
|
||||
|
||||
This class is used to iterate through the rectangles in a region,
|
||||
typically when examining the damaged regions of a window within an OnPaint call.
|
||||
|
||||
To use it, construct an iterator object on the stack and loop through the
|
||||
regions, testing the object and incrementing the iterator at the end of the loop.
|
||||
|
||||
See \helpref{wxWindow::OnPaint}{wxwindowonpaint} for an example of use.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnPaint}{wxwindowonpaint}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxRegionIterator::wxRegionIterator}
|
||||
|
||||
\func{}{wxRegionIterator}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxRegionIterator}{\param{const wxRegion\&}{ region}}
|
||||
|
||||
Creates an iterator object given a region.
|
||||
|
||||
\membersection{wxRegionIterator::GetX}
|
||||
|
||||
\constfunc{long}{GetX}{\void}
|
||||
|
||||
Returns the x value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetY}
|
||||
|
||||
\constfunc{long}{GetY}{\void}
|
||||
|
||||
Returns the y value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetW}
|
||||
|
||||
\constfunc{long}{GetW}{\void}
|
||||
|
||||
An alias for GetWidth.
|
||||
|
||||
\membersection{wxRegionIterator::GetWidth}
|
||||
|
||||
\constfunc{long}{GetWidth}{\void}
|
||||
|
||||
Returns the width value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetH}
|
||||
|
||||
\constfunc{long}{GetH}{\void}
|
||||
|
||||
An alias for GetHeight.
|
||||
|
||||
\membersection{wxRegionIterator::GetHeight}
|
||||
|
||||
\constfunc{long}{GetWidth}{\void}
|
||||
|
||||
Returns the width value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetRect}
|
||||
|
||||
\constfunc{wxRect}{GetRect}{\void}
|
||||
|
||||
Returns the current rectangle.
|
||||
|
||||
\membersection{wxRegionIterator::HaveRects}
|
||||
|
||||
\constfunc{bool}{HaveRects}{\void}
|
||||
|
||||
Returns TRUE if there are still some rectangles; otherwise returns FALSE.
|
||||
|
||||
\membersection{wxRegionIterator::Reset}
|
||||
|
||||
\func{void}{Reset}{\void}
|
||||
|
||||
Resets the iterator to the beginning of the rectangles.
|
||||
|
||||
\func{void}{Reset}{\param{const wxRegion\&}{ region}}
|
||||
|
||||
Resets the iterator to the given region.
|
||||
|
||||
\membersection{wxRegionIterator::operator $++$}
|
||||
|
||||
\func{void}{operator $++$}{\void}
|
||||
|
||||
Increment operator. Increments the iterator to the next region.
|
||||
|
||||
\membersection{wxRegionIterator::operator bool}
|
||||
|
||||
\constfunc{}{operator bool}{\void}
|
||||
|
||||
Returns TRUE if there are still some rectangles; otherwise returns FALSE.
|
||||
|
||||
You can use this to test the iterator object as if it were of type bool.
|
||||
|
||||
|
85
docs/latex/wx/sashevt.tex
Normal file
85
docs/latex/wx/sashevt.tex
Normal file
@@ -0,0 +1,85 @@
|
||||
\section{\class{wxSashEvent}}\label{wxsashevent}
|
||||
|
||||
A sash event is sent when the sash of a \helpref{wxSashWindow}{wxsashwindow} has been
|
||||
dragged by the user.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxCommandEvent}{wxcommandevent}\\
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process an activate event, use these event handler macros to direct input to a member
|
||||
function that takes a wxSashEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event,
|
||||
when the user has finished dragging a sash.}
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event,
|
||||
when the user has finished dragging a sash. The event handler is called when windows with ids in the
|
||||
given range have their sashes dragged.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxSashDragStatus
|
||||
{
|
||||
wxSASH_STATUS_OK,
|
||||
wxSASH_STATUS_OUT_OF_RANGE
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
When a sash belonging to a sash window is dragged by the user, and then released,
|
||||
this event is sent to the window, where it may be processed by an event table
|
||||
entry in a derived class, a plug-in event handler or an ancestor class.
|
||||
|
||||
Note that the wxSashWindow doesn't change the window's size itself. It relies on the application's
|
||||
event handler to do that. This is because the application may have to handle other consequences
|
||||
of the resize, or it may wish to veto it altogether. The event handler should
|
||||
look at the drag rectangle: see \helpref{wxSashEvent::GetDragRect}{wxsasheventgetdragrect} to see
|
||||
what the new size of the window would be if the resize were to be applied. It should
|
||||
also call \helpref{wxSashEvent::GetDragStatus}{wxsasheventgetdragstatus} to see whether the
|
||||
drag was OK or out of the current allowed range.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow}{wxsashwindow},\rtfsp
|
||||
\helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSashEvent::wxSashEvent}
|
||||
|
||||
\func{}{wxSashEvent}{\param{int }{id = 0}, \param{wxSashEdgePosition}{ edge = wxSASH\_NONE}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxSashEvent::GetEdge}\label{wxsasheventgetedge}
|
||||
|
||||
\constfunc{wxSashEdgePosition}{GetEdge}{\void}
|
||||
|
||||
Returns the dragged edge. The return value is one of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.
|
||||
|
||||
\membersection{wxSashEvent::GetDragRect}\label{wxsasheventgetdragrect}
|
||||
|
||||
\constfunc{wxRect}{GetDragRect}{\void}
|
||||
|
||||
Returns the rectangle representing the new size the window would be if the resize was applied. It is
|
||||
up to the application to set the window size if required.
|
||||
|
||||
\membersection{wxSashEvent::GetDragStatus}\label{wxsasheventgetdragstatus}
|
||||
|
||||
\constfunc{wxSashDragStatus}{GetDragStatus}{\void}
|
||||
|
||||
Returns the status of the sash: one of wxSASH\_STATUS\_OK, wxSASH\_STATUS\_OUT\_OF\_RANGE.
|
||||
If the drag caused the notional bounding box of the window to flip over, for example, the drag will be out of rage.
|
||||
|
||||
|
128
docs/latex/wx/sashlayw.tex
Normal file
128
docs/latex/wx/sashlayw.tex
Normal file
@@ -0,0 +1,128 @@
|
||||
\section{\class{wxSashLayoutWindow}}\label{wxsashlayoutwindow}
|
||||
|
||||
wxSashLayoutWindow responds to OnCalculateLayout events generated
|
||||
by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}. It allows the
|
||||
application to use simple accessors to specify how the window should be
|
||||
laid out, rather than having to respond to events. The fact that
|
||||
the class derives from wxSashWindow allows sashes to be used if required,
|
||||
to allow the windows to be user-resizable.
|
||||
|
||||
The documentation for \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} explains
|
||||
the purpose of this class in more detail.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSashWindow}{wxsashwindow}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
See \helpref{wxSashWindow}{wxsashwindow}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
This class handles the EVT\_QUERY\_LAYOUT\_INFO and EVT\_CALCULATE\_LAYOUT events
|
||||
for you. However, if you use sashes, see \helpref{wxSashWindow}{wxsashwindow} for
|
||||
relevant event information.
|
||||
|
||||
See also \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} for information
|
||||
about the layout events.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}, \helpref{wxSashWindow}{wxsashwindow}, \helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSashLayoutWindow::wxSashLayoutWindow}
|
||||
|
||||
\func{}{wxSashLayoutWindow}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxSashLayoutWindow}{\param{wxSashLayoutWindow*}{ parent}, \param{wxSashLayoutWindowID }{id},
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
||||
\param{const wxSize\& }{size = wxDefaultSize},
|
||||
\param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D},
|
||||
\param{const wxString\& }{name = "layoutWindow"}}
|
||||
|
||||
Constructs a sash layout window, which can be a child of a frame, dialog or any other non-control window.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Pointer to a parent window.}
|
||||
|
||||
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
|
||||
|
||||
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashLayoutWindows
|
||||
should generate a default position for the window. If using the wxSashLayoutWindow class directly, supply
|
||||
an actual position.}
|
||||
|
||||
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxSashLayoutWindows
|
||||
should generate a default size for the window.}
|
||||
|
||||
\docparam{style}{Window style. For window styles, please see \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\membersection{wxSashLayoutWindow::\destruct{wxSashLayoutWindow}}
|
||||
|
||||
\func{}{\destruct{wxSashLayoutWindow}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxSashLayoutWindow::GetAlignment}\label{wxsashlayoutwindowgetalignment}
|
||||
|
||||
\constfunc{wxLayoutAlignment}{GetAlignment}{\void}
|
||||
|
||||
Returns the alignment of the window: one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxSashLayoutWindow::GetOrientation}\label{wxsashlayoutwindowgetorientation}
|
||||
|
||||
\constfunc{wxLayoutOrientation}{GetOrientation}{\void}
|
||||
|
||||
Returns the orientation of the window: one of wxLAYOUT\_HORIZONTAL, wxLAYOUT\_VERTICAL.
|
||||
|
||||
\membersection{wxSashLayoutWindow::OnCalculateLayout}\label{wxsashlayoutwindowoncalculatelayout}
|
||||
|
||||
\func{void}{OnCalculateLayout}{\param{wxCalculateLayoutEvent\&}{ event}}
|
||||
|
||||
The default handler for the event that is generated by wxLayoutAlgorithm. The implementation
|
||||
of this function calls wxCalculateLayoutEvent::SetRect to shrink the provided size according to
|
||||
how much space this window takes up. For further details,
|
||||
see \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} and \helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}.
|
||||
|
||||
\membersection{wxSashLayoutWindow::OnQueryLayoutInfo}\label{wxsashlayoutwindowonquerylayoutinfo}
|
||||
|
||||
\func{void}{OnQueryLayoutInfo}{\param{wxQueryLayoutInfoEvent\&}{ event}}
|
||||
|
||||
The default handler for the event that is generated by OnCalculateLayout to get
|
||||
size, alignment and orientation information for the window. The implementation
|
||||
of this function uses member variables as set by accessors called by the application.
|
||||
For further details, see \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} and \helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}.
|
||||
|
||||
\membersection{wxSashLayoutWindow::SetAlignment}\label{wxsashlayoutwindowsetalignment}
|
||||
|
||||
\func{void}{SetAlignment}{\param{wxLayoutAlignment}{ alignment}}
|
||||
|
||||
Sets the alignment of the window (which edge of the available parent client area the window
|
||||
is attached to). {\it alignment} is one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxSashLayoutWindow::SetDefaultSize}\label{wxsashlayoutwindowsetdefaultsize}
|
||||
|
||||
\func{void}{SetDefaultSize}{\param{const wxSize\& }{size}}
|
||||
|
||||
Sets the default dimensions of the window. The dimension other than the orientation will be fixed to this
|
||||
value, and the orientation dimension will be ignored and the window stretched to fit the available space.
|
||||
|
||||
\membersection{wxSashLayoutWindow::SetOrientation}\label{wxsashlayoutwindowsetorientation}
|
||||
|
||||
\func{void}{SetOrientation}{\param{wxLayoutOrientation}{ orientation}}
|
||||
|
||||
Sets the orientation of the window (the direction the window will stretch in, to fill the available
|
||||
parent client area). {\it orientation} is one of wxLAYOUT\_HORIZONTAL, wxLAYOUT\_VERTICAL.
|
||||
|
||||
|
||||
|
203
docs/latex/wx/sashwin.tex
Normal file
203
docs/latex/wx/sashwin.tex
Normal file
@@ -0,0 +1,203 @@
|
||||
\section{\class{wxSashWindow}}\label{wxsashwindow}
|
||||
|
||||
wxSashWindow allows any of its edges to have a sash which can be dragged
|
||||
to resize the window. The actual content window will be created by the application
|
||||
as a child of wxSashWindow. The window (or an ancestor) will be notified of a drag
|
||||
via a \helpref{wxSashEvent}{wxsashevent} notification.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
The following styles apply in addition to the normal wxWindow styles.
|
||||
|
||||
\twocolwidtha{5cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxSW\_3D}}{Draws the sashes in 3D.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event,
|
||||
when the user has finished dragging a sash.}
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event,
|
||||
when the user has finished dragging a sash. The event handler is called when windows with ids in the
|
||||
given range have their sashes dragged.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data types}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxSashEdgePosition {
|
||||
wxSASH_TOP = 0,
|
||||
wxSASH_RIGHT,
|
||||
wxSASH_BOTTOM,
|
||||
wxSASH_LEFT,
|
||||
wxSASH_NONE = 100
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashEvent}{wxsashevent}, \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}, \helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSashWindow::wxSashWindow}
|
||||
|
||||
\func{}{wxSashWindow}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxSashWindow}{\param{wxSashWindow*}{ parent}, \param{wxSashWindowID }{id},
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
||||
\param{const wxSize\& }{size = wxDefaultSize},
|
||||
\param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D},
|
||||
\param{const wxString\& }{name = "sashWindow"}}
|
||||
|
||||
Constructs a sash window, which can be a child of a frame, dialog or any other non-control window.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Pointer to a parent window.}
|
||||
|
||||
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
|
||||
|
||||
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashWindows
|
||||
should generate a default position for the window. If using the wxSashWindow class directly, supply
|
||||
an actual position.}
|
||||
|
||||
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxSashWindows
|
||||
should generate a default size for the window.}
|
||||
|
||||
\docparam{style}{Window style. For window styles, please see \helpref{wxSashWindow}{wxsashwindow}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\membersection{wxSashWindow::\destruct{wxSashWindow}}
|
||||
|
||||
\func{}{\destruct{wxSashWindow}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxSashWindow::GetSashVisible}\label{wxsashwindowgetsashvisible}
|
||||
|
||||
\constfunc{bool}{GetSashVisible}{\param{wxSashEdgePosition }{edge}}
|
||||
|
||||
Returns TRUE if a sash is visible on the given edge, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::SetSashVisible}{wxsashwindowsetsashvisible}
|
||||
|
||||
\membersection{wxSashWindow::GetMaximumSizeX}\label{wxsashwindowgetmaximumsizex}
|
||||
|
||||
\constfunc{int}{GetMaximumSizeX}{\void}
|
||||
|
||||
Gets the maximum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::GetMaximumSizeY}\label{wxsashwindowgetmaximumsizey}
|
||||
|
||||
\constfunc{int}{GetMaximumSizeY}{\void}
|
||||
|
||||
Gets the maximum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::GetMinimumSizeX}\label{wxsashwindowgetminimumsizex}
|
||||
|
||||
\func{int}{GetMinimumSizeX}{\void}
|
||||
|
||||
Gets the minimum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::GetMinimumSizeY}\label{wxsashwindowgetminimumsizey}
|
||||
|
||||
\constfunc{int}{GetMinimumSizeY}{\param{int}{ min}}
|
||||
|
||||
Gets the minimum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::HasBorder}\label{wxsashwindowhasborder}
|
||||
|
||||
\constfunc{bool}{HasBorder}{\param{wxSashEdgePosition }{edge}}
|
||||
|
||||
Returns TRUE if the sash has a border, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::SetSashBorder}{wxsashwindowsetsashborder}
|
||||
|
||||
\membersection{wxSashWindow::SetMaximumSizeX}\label{wxsashwindowsetmaximumsizex}
|
||||
|
||||
\func{void}{SetMaximumSizeX}{\param{int}{ min}}
|
||||
|
||||
Sets the maximum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::SetMaximumSizeY}\label{wxsashwindowsetmaximumsizey}
|
||||
|
||||
\func{void}{SetMaximumSizeY}{\param{int}{ min}}
|
||||
|
||||
Sets the maximum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::SetMinimumSizeX}\label{wxsashwindowsetminimumsizex}
|
||||
|
||||
\func{void}{SetMinimumSizeX}{\param{int}{ min}}
|
||||
|
||||
Sets the minimum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::SetMinimumSizeY}\label{wxsashwindowsetminimumsizey}
|
||||
|
||||
\func{void}{SetMinimumSizeY}{\param{int}{ min}}
|
||||
|
||||
Sets the minimum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::SetSashVisible}\label{wxsashwindowsetsashvisible}
|
||||
|
||||
\func{void}{SetSashVisible}{\param{wxSashEdgePosition }{edge}, \param{bool}{ visible}}
|
||||
|
||||
Call this function to make a sash visible or invisible on a particular edge.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\docparam{visible}{TRUE to make the sash visible, FALSE to make it invisible.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::GetSashVisible}{wxsashwindowgetsashvisible}
|
||||
|
||||
// Set whether there's a border in this position
|
||||
inline void SetSashBorder(wxSashEdgePosition edge, bool border) { m_sashes[edge].m_border = border; }
|
||||
|
||||
\membersection{wxSashWindow::SetSashBorder}\label{wxsashwindowsetsashborder}
|
||||
|
||||
\func{void}{SetSashBorder}{\param{wxSashEdgePosition }{edge}, \param{bool}{ hasBorder}}
|
||||
|
||||
Call this function to give the sash a border, or remove the border.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\docparam{hasBorder}{TRUE to give the sash a border visible, FALSE to remove it.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::HashBorder}{wxsashwindowhasborder}
|
||||
|
155
docs/latex/wx/sckaddr.tex
Normal file
155
docs/latex/wx/sckaddr.tex
Normal file
@@ -0,0 +1,155 @@
|
||||
% ----------------------------------------------------------------------------
|
||||
% CLASS: wxSockAddress
|
||||
% ----------------------------------------------------------------------------
|
||||
\section{\class{wxSockAddress}}\label{wxsockaddress}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
{\bf Actually, you don't have to use these functions: only wxSocketBase use it.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase}{wxsocketbase}\\
|
||||
\helpref{wxIPV4address}{wxipv4address}\\
|
||||
\helpref{wxIPV6address}{wxipv6address}\\
|
||||
\helpref{wxunixaddress}{wxunixaddress}
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% Members
|
||||
% ----------------------------------------------------------------------------
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% ctor/dtor
|
||||
%
|
||||
|
||||
\membersection{wxSockAddress::wxSockAddress}
|
||||
\func{}{wxSockAddress}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\membersection{wxSockAddress::\destruct{wxSockAddress}}
|
||||
\func{}{\destruct{wxSockAddress}}{\void}
|
||||
|
||||
Default destructor.
|
||||
|
||||
%
|
||||
% Clear
|
||||
%
|
||||
\membersection{wxSockAddress::Clear}
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
Delete all informations about the address.
|
||||
|
||||
%
|
||||
% Build
|
||||
%
|
||||
\membersection{wxSockAddress::Build}
|
||||
\func{void}{Build}{\param{struct sockaddr *\&}{ addr}, \param{size\_t\&}{ len}}
|
||||
|
||||
Build a coded socket address.
|
||||
|
||||
%
|
||||
% Disassemble
|
||||
%
|
||||
\membersection{wxSockAddress::Disassemble}
|
||||
\func{void}{Disassemble}{\param{struct sockaddr *}{addr}, \param{size\_t}{ len}}
|
||||
|
||||
Decode a socket address. {\bf Actually, you don't have to use this
|
||||
function: only wxSocketBase use it.}
|
||||
|
||||
%
|
||||
% SockAddrLen
|
||||
%
|
||||
\membersection{wxSockAddress::SockAddrLen}
|
||||
\func{int}{SockAddrLen}{\void};
|
||||
|
||||
Returns the length of the socket address.
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% CLASS: wxIPV4address
|
||||
% ----------------------------------------------------------------------------
|
||||
\section{\class{wxIPV4address}}\label{wxipv4address}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSockAddress}{wxsockaddress}
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% MEMBERS
|
||||
% ----------------------------------------------------------------------------
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% Hostname
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Hostname}
|
||||
\func{bool}{Hostname}{\param{const wxString\&}{ hostname}}
|
||||
|
||||
Use the specified {\it hostname} for the address.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens (invalid hostname, invalid IP address).
|
||||
|
||||
%
|
||||
% Hostname
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Hostname}
|
||||
\func{wxString}{Hostname}{\void}
|
||||
|
||||
Returns the hostname which matches the IP address.
|
||||
|
||||
%
|
||||
% Service
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Service}
|
||||
\func{bool}{Service}{\param{const wxString\&}{ service}}
|
||||
|
||||
Use the specified {\it service} string for the address.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens (invalid service).
|
||||
|
||||
%
|
||||
% Service
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Service}
|
||||
\func{bool}{Service}{\param{unsigned short}{ service}}
|
||||
|
||||
Use the specified {\it service} for the address.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens (invalid service).
|
||||
|
||||
%
|
||||
% Service
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Service}
|
||||
\func{unsigned short}{Service}{\void}
|
||||
|
||||
Returns the current service.
|
||||
|
||||
%
|
||||
% LocalHost
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::LocalHost}
|
||||
\func{bool}{LocalHost}{\void}
|
||||
|
||||
Initialize peer host to local host.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens.
|
@@ -12,16 +12,6 @@ events are received.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxSB\_HORIZONTAL}}{Specifies a horizontal scrollbar.}
|
||||
\twocolitem{\windowstyle{wxSB\_VERTICAL}}{Specifies a vertical scrollbar.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
A scrollbar has the following main attributes: {\it range}, {\it thumb size}, {\it page size}, and {\it position}.
|
||||
@@ -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
|
||||
to the size of the window and the size of the data.
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxSB\_HORIZONTAL}}{Specifies a horizontal scrollbar.}
|
||||
\twocolitem{\windowstyle{wxSB\_VERTICAL}}{Specifies a vertical scrollbar.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a scrollbar, use one of these event handler macros to direct input to member
|
||||
@@ -61,7 +61,7 @@ functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
|
||||
\twocolitem{{\bf EVT\_COMMAND\_PAGEDOWN(id, func)}}{Catch a page down command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
|
||||
\end{twocollist}%
|
||||
%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Scrolling overview}{scrollingoverview},\rtfsp
|
||||
|
@@ -130,8 +130,7 @@ scrolling in that direction.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
||||
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
||||
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize}
|
||||
|
||||
\membersection{wxScrolledWindow::GetVirtualSize}\label{wxscrolledwindowgetvirtualsize}
|
||||
|
||||
@@ -155,8 +154,7 @@ to translate these units to logical units.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
||||
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
||||
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit}
|
||||
|
||||
\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}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a slider, use one of these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_SCROLL(id, func)}}{Catch all scroll commands.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_TOP(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_BOTTOM(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LINEUP(id, func)}}{Catch a line up command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LINEDOWN(id, func)}}{Catch a line down command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_PAGEUP(id, func)}}{Catch a page up command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_PAGEDOWN(id, func)}}{Catch a page down command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
|
||||
\twocolitem{{\bf EVT\_SLIDER(id, func)}}{Process a wxEVT\_COMMAND\_SLIDER\_UPDATED event,
|
||||
when the slider is moved. Though provided for backward compatibility, this is obsolete.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxScrollBar}{wxscrollbar}
|
||||
|
768
docs/latex/wx/socket.tex
Normal file
768
docs/latex/wx/socket.tex
Normal file
@@ -0,0 +1,768 @@
|
||||
\section{\class{wxSocketBase}}\label{wxsocketbase}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvtHandler}{wxevthandler}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Event handling
|
||||
% ---------------------------------------------------------------------------
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process events from a socket, use the following event handler macro to direct
|
||||
input to member
|
||||
functions that take a \helpref{wxSocketEvent}{wxsocketevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SOCKET(id, func)}}{A socket event occured.}
|
||||
\end{twocollist}%
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% See also ...
|
||||
% ---------------------------------------------------------------------------
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketEvent}{wxsocketevent}, \helpref{wxSocketClient}{wxsocketclient}, \helpref{wxSocketServer}{wxsocketserver}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSocketBase::wxSocketBase}
|
||||
|
||||
\func{}{wxSocketBase}{\void}
|
||||
|
||||
Default constructor but don't use it, you must use \helpref{wxSocketClient}{wxsocketclient}
|
||||
or \helpref{wxSocketServer}{wxsocketserver}.
|
||||
|
||||
\membersection{wxSocketBase::\destruct{wxSocketBase}}
|
||||
|
||||
\func{}{\destruct{wxSocketBase}}{\void}
|
||||
|
||||
Destroys the wxSocketBase object.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% State functions
|
||||
% ---------------------------------------------------------------------------
|
||||
|
||||
\membersection{wxSocketBase::Ok}\label{wxsocketbaseok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if the socket is initialized and ready and FALSE in other
|
||||
cases.
|
||||
|
||||
\membersection{wxSocketBase::Error}\label{wxsocketbaseerror}
|
||||
|
||||
\constfunc{bool}{Error}{\void}
|
||||
|
||||
Returns TRUE if an error occured.
|
||||
|
||||
\membersection{wxSocketBase::IsConnected}\label{wxsocketbaseconnected}
|
||||
|
||||
\constfunc{bool}{IsConnected}{\void}
|
||||
|
||||
Returns TRUE if the socket is connected.
|
||||
|
||||
\membersection{wxSocketBase::IsData}\label{wxsocketbaseisdata}
|
||||
|
||||
\constfunc{bool}{IsData}{\void}
|
||||
|
||||
Returns TRUE if some data is arrived on the socket.
|
||||
|
||||
\membersection{wxSocketBase::IsDisconnected}\label{wxsocketbasedisconnected}
|
||||
|
||||
\constfunc{bool}{IsDisconnected}{\void}
|
||||
|
||||
Returns TRUE if the socket is disconnected.
|
||||
|
||||
\membersection{wxSocketBase::IsNoWait}\label{wxsocketbasenowait}
|
||||
|
||||
\constfunc{bool}{IsNoWait}{\void}
|
||||
|
||||
Returns TRUE if the socket mustn't wait.
|
||||
|
||||
\membersection{wxSocketBase::LastCount}\label{wxsocketbaselastcount}
|
||||
|
||||
\constfunc{size\_t}{LastCount}{\void}
|
||||
|
||||
Returns the number of bytes read or written by the last IO call.
|
||||
|
||||
\membersection{wxSocketBase::LastError}\label{wxsocketbaselasterror}
|
||||
|
||||
\constfunc{int}{LastError}{\void}
|
||||
|
||||
Returns an error in the errno format (see your C programmer's guide).
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% IO calls
|
||||
% ---------------------------------------------------------------------------
|
||||
%
|
||||
% Peek
|
||||
%
|
||||
\membersection{wxSocketBase::Peek}\label{wxsocketbasepeek}
|
||||
|
||||
\func{wxSocketBase\&}{Peek}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function peeks a buffer of {\it nbytes} bytes from the socket. Peeking a buffer
|
||||
doesn't delete it from the system socket in-queue.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put peeked data.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
%
|
||||
% Read
|
||||
%
|
||||
\membersection{wxSocketBase::Read}\label{wxsocketbaseread}
|
||||
|
||||
\func{wxSocketBase\&}{Read}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function reads a buffer of {\it nbytes} bytes from the socket.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put read data.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
\membersection{wxSocketBase::SetFlags}\label{wxsocketbasesetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{wxSockFlags}{ flags}}
|
||||
|
||||
TODO
|
||||
|
||||
%
|
||||
% Read
|
||||
%
|
||||
\membersection{wxSocketBase::Write}\label{wxsocketbasewrite}
|
||||
|
||||
\func{wxSocketBase\&}{Write}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function writes a buffer of {\it nbytes} bytes from the socket.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to get the data to write.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
%
|
||||
% WriteMsg
|
||||
%
|
||||
\membersection{wxSocketBase::WriteMsg}\label{wxsocketbasewritemsg}
|
||||
|
||||
\func{wxSocketBase\&}{WriteMsg}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function writes a buffer of {\it nbytes} bytes from the socket. But it
|
||||
writes a short header before so that ReadMsg can alloc the right size for
|
||||
the buffer. So a buffer sent with WriteMsg {\bf must} be read with ReadMsg.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put data peeked.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
|
||||
\helpref{wxSocketBase::ReadMsg}{wxsocketbasereadmsg}
|
||||
|
||||
%
|
||||
% ReadMsg
|
||||
%
|
||||
\membersection{wxSocketBase::ReadMsg}\label{wxsocketbasereadmsg}
|
||||
|
||||
\func{wxSocketBase\&}{ReadMsg}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function reads a buffer sent by WriteMsg on a socket. If the buffer passed
|
||||
to the function isn't big enough, the function filled it and then discard the
|
||||
bytes left. This function always wait for the buffer to be entirely filled.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put read data.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes allocated for the buffer.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
|
||||
\helpref{wxSocketBase::WriteMsg}{wxsocketbasewritemsg}
|
||||
|
||||
%
|
||||
% Unread
|
||||
%
|
||||
\membersection{wxSocketBase::UnRead}\label{wxsocketbaseunread}
|
||||
|
||||
\func{wxSocketBase\&}{UnRead}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function unreads a buffer. It means that the buffer is put in the top
|
||||
of the incoming queue. But, it is put also at the end of all unread buffers.
|
||||
It is useful for sockets because we can't seek it.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer to be unread.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
%
|
||||
% Discard
|
||||
%
|
||||
\membersection{wxSocketBase::Discard}\label{wxsocketbasediscard}
|
||||
|
||||
\func{wxSocketBase\&}{Discard}{\void}
|
||||
|
||||
This function simply deletes all bytes in the incoming queue. This function
|
||||
doesn't wait.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Wait functions
|
||||
% ---------------------------------------------------------------------------
|
||||
\membersection{wxSocketBase::Wait}\label{wxsocketbasewait}
|
||||
|
||||
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for an event: it could be an incoming byte, the possibility
|
||||
for the client to write, a lost connection, an incoming connection, an
|
||||
established connection.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if an event occured, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
|
||||
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% WaitForRead
|
||||
%
|
||||
\membersection{wxSocketBase::WaitForRead}\label{wxsocketbasewaitforread}
|
||||
|
||||
\func{bool}{WaitForRead}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for a read event.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if a byte arrived, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait},
|
||||
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% WaitForWrite
|
||||
%
|
||||
\membersection{wxSocketBase::WaitForWrite}\label{wxsocketbasewaitforwrite}
|
||||
|
||||
\func{bool}{WaitForWrite}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for a write event.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if a write event occured, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait},
|
||||
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% WaitForLost
|
||||
%
|
||||
\membersection{wxSocketBase::WaitForLost}\label{wxsocketbasewaitforlost}
|
||||
|
||||
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for a "lost" event. For instance, the peer may have closed
|
||||
the connection, or the connection may have been broken.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if a "lost" event occured, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
|
||||
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% RestoreState
|
||||
%
|
||||
\membersection{wxSocketBase::RestoreState}\label{wxsocketbaserestorestate}
|
||||
|
||||
\func{void}{RestoreState}{\void}
|
||||
|
||||
This function restores a previously saved state.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::SaveState}{wxsocketbasesavestate}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Socket state
|
||||
% ---------------------------------------------------------------------------
|
||||
%
|
||||
% SaveState
|
||||
%
|
||||
\membersection{wxSocketBase::SaveState}\label{wxsocketbasesavestate}
|
||||
|
||||
\func{void}{SaveState}{\void}
|
||||
|
||||
This function saves the current state of the socket object in a stack:
|
||||
actually it saves all flags and the state of the asynchronous callbacks.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::RestoreState}{wxsocketbaserestorestate}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Socket callbacks
|
||||
% ---------------------------------------------------------------------------
|
||||
\membersection{wxSocketBase::SetEventHandler}\label{wxsocketbaseseteventhandler}
|
||||
|
||||
\func{void}{SetEventHandler}{\param{wxEvtHandler\&}{ evt\_hdlr}, \param{int}{ id = -1}}
|
||||
|
||||
Sets an event handler to be called when a socket event occured.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{evt\_hdlr}{Specifies the event handler you want to use.}
|
||||
|
||||
\docparam{id}{The id of socket event.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketEvent}{wxsocketevent}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS wxSocketClient
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketClient}}\label{wxsocketclient}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSocketBase}{wxsocketbase}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
%
|
||||
% wxSocketClient
|
||||
%
|
||||
\membersection{wxSocketClient::wxSocketClient}
|
||||
|
||||
\func{}{wxSocketClient}{\param{wxSockFlags}{ flags = wxSocketBase::NONE}}
|
||||
|
||||
Constructs a new wxSocketClient.
|
||||
|
||||
{\bf Warning !} The created socket client needs to be registered to a socket handler (See \helpref{wxSocketHandler}{wxsockethandler}).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})}
|
||||
|
||||
%
|
||||
% ~wxSocketClient
|
||||
%
|
||||
\membersection{wxSocketClient::\destruct{wxSocketClient}}
|
||||
|
||||
\func{}{\destruct{wxSocketClient}}{\void}
|
||||
|
||||
Destructs a wxSocketClient object.
|
||||
|
||||
%
|
||||
% Connect
|
||||
%
|
||||
\membersection{wxSocketClient::Connect}\label{wxsocketclientconnect}
|
||||
|
||||
\func{bool}{Connect}{\param{wxSockAddress\&}{ address}, \param{bool}{ wait = TRUE}}
|
||||
|
||||
Connects to a server using the specified address. If {\it wait} is TRUE, Connect
|
||||
will wait for the socket ready to send or receive data.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{address}{Address of the server.}
|
||||
|
||||
\docparam{wait}{If true, waits for the connection to be ready.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the connection is established and no error occurs.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketClient::WaitOnConnect}{wxsocketclientwaitonconnect}
|
||||
|
||||
%
|
||||
% WaitOnConnect
|
||||
%
|
||||
\membersection{wxSocketClient::WaitOnConnect}\label{wxsocketclientwaitonconnect}
|
||||
|
||||
\func{bool}{WaitOnConnect}{\param{long}{ seconds = -1}, \param{long}{ microseconds = 0}}
|
||||
|
||||
Wait for a "connect" event.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait} for a detailed description.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS: wxSocketEvent
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketEvent}}\label{wxsocketevent}
|
||||
|
||||
This event class contains information about socket events.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a socket event, use these event handler macros to direct input to member
|
||||
functions that take a wxSocketEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SOCKET(id, func)}}{Process a socket event, supplying the member function.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketHandler}{wxsockethandler},\rtfsp
|
||||
\helpref{wxSocketBase}{wxsocketbase},\rtfsp
|
||||
\helpref{wxSocketClient}{wxsocketclient},\rtfsp
|
||||
\helpref{wxSocketServer}{wxsocketserver}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSocketEvent::wxSocketEvent}
|
||||
|
||||
\func{}{wxSocketEvent}{\param{int}{ id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxSocketEvent::SocketEvent}\label{wxsocketeventsocketevent}
|
||||
|
||||
\constfunc{wxSocketBase::wxRequestEvent}{SocketEvent}{\void}
|
||||
|
||||
Returns the socket event type.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS: wxSocketHandler
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketHandler}}\label{wxsockethandler}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% wxSocketHandler
|
||||
%
|
||||
\membersection{wxSocketHandler::wxSocketHandler}
|
||||
|
||||
\func{}{wxSocketHandler}{\void}
|
||||
|
||||
Constructs a new wxSocketHandler.
|
||||
|
||||
It is advised to use \helpref{wxSocketHandler::Master}{wxsockethandlermaster} to
|
||||
get a socket handler. But creating a socket handler is useful to group
|
||||
many sockets.
|
||||
|
||||
%
|
||||
% ~wxSocketHandler
|
||||
%
|
||||
\membersection{wxSocketHandler::\destruct{wxSocketHandler}}
|
||||
|
||||
\func{}{\destruct{wxSocketHandler}}{\void}
|
||||
|
||||
Destructs a wxSocketHandler object.
|
||||
|
||||
%
|
||||
% Register
|
||||
%
|
||||
\membersection{wxSocketHandler::Register}
|
||||
|
||||
\func{void}{Register}{\param{wxSocketBase *}{socket}}
|
||||
|
||||
Register a socket: if it is already registered in this handler it will just
|
||||
return immediately.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{socket}{Socket to be registered.}
|
||||
|
||||
%
|
||||
% UnRegister
|
||||
%
|
||||
\membersection{wxSocketHandler::UnRegister}
|
||||
|
||||
\func{void}{UnRegister}{\param{wxSocketBase *}{socket}}
|
||||
|
||||
UnRegister a socket: if it isn't registered in this handler it will just
|
||||
return.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{socket}{Socket to be unregistered.}
|
||||
|
||||
%
|
||||
% Count
|
||||
%
|
||||
\membersection{wxSocketHandler::Count}
|
||||
|
||||
\constfunc{unsigned long}{Count}{\void}
|
||||
|
||||
Returns the number of sockets registered in the handler.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Number of sockets registered.
|
||||
|
||||
%
|
||||
% CreateServer
|
||||
%
|
||||
\membersection{wxSocketHandler::CreateServer}
|
||||
|
||||
\func{wxSocketServer *}{CreateServer}{\param{wxSockAddress\&}{ address}, \param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
|
||||
|
||||
Creates a new wxSocketServer object. The object is automatically registered
|
||||
to the current socket handler.
|
||||
For a detailed description of the parameters, see \helpref{wxSocketServer::wxSocketServer}{wxsocketserverconstr}.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a new socket server.
|
||||
|
||||
%
|
||||
% CreateClient
|
||||
%
|
||||
\membersection{wxSocketHandler::CreateClient}
|
||||
|
||||
\func{wxSocketServer *}{CreateClient}{\param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
|
||||
|
||||
Creates a new wxSocketClient object. The object is automatically registered
|
||||
to the current socket handler.
|
||||
|
||||
For a detailed description of the parameters, see \helpref{wxSocketClient::Connect}{wxsocketclientconnect}.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a new socket client.
|
||||
|
||||
%
|
||||
% Master
|
||||
%
|
||||
\membersection{wxSocketHandler::Master}\label{wxsockethandlermaster}
|
||||
|
||||
\func{static wxSocketHandler\&}{Master}{\void}
|
||||
|
||||
Returns a default socket handler.
|
||||
|
||||
%
|
||||
% Wait
|
||||
%
|
||||
\membersection{wxSocketHandler::Wait}
|
||||
|
||||
\func{int}{Wait}{\param{long}{ seconds},\param{long}{ microseconds}}
|
||||
|
||||
Wait for an event on all registered sockets.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 0 if a timeout occured, else the number of events detected.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait}
|
||||
|
||||
%
|
||||
% YieldSock
|
||||
%
|
||||
\membersection{wxSocketHandler::YieldSock}
|
||||
|
||||
\func{void}{YieldSock}{\void}
|
||||
|
||||
Execute pending requests in all registered sockets.
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS: wxSocketServer
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketServer}}\label{wxsocketserver}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSocketBase}{wxsocketbase}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% wxSocketServer
|
||||
%
|
||||
\membersection{wxSocketServer::wxSocketServer}\label{wxsocketserverconstr}
|
||||
|
||||
\func{}{wxSocketServer}{\param{wxSockAddress\&}{ address}, \param{wxSockFlags}{ flags = wxSocketBase::NONE}}
|
||||
|
||||
Constructs a new wxSocketServer.
|
||||
|
||||
{\bf Warning !} The created object needs to be registered to a socket handler
|
||||
(see \helpref{wxSocketHandler}{wxsockethandler}).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{address}{Specifies the local address for the server (e.g. port number).}
|
||||
|
||||
\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})}
|
||||
|
||||
%
|
||||
% ~wxSocketServer
|
||||
%
|
||||
\membersection{wxSocketServer::\destruct{wxSocketServer}}
|
||||
|
||||
\func{}{\destruct{wxSocketServer}}{\void}
|
||||
|
||||
Destructs a wxSocketServer object (it doesn't close the accepted connection).
|
||||
|
||||
%
|
||||
% Accept
|
||||
%
|
||||
\membersection{wxSocketServer::Accept}
|
||||
|
||||
\func{wxSocketBase *}{Accept}{\void}
|
||||
|
||||
Creates a new object wxSocketBase and accepts an incoming connection. {\bf Warning !} This function will block the GUI.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns an opened socket connection.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketServer::AcceptWith}{wxsocketserveracceptwith}
|
||||
|
||||
%
|
||||
% AcceptWith
|
||||
%
|
||||
\membersection{wxSocketServer::AcceptWith}\label{wxsocketserveracceptwith}
|
||||
|
||||
\func{bool}{AcceptWith}{\param{wxSocketBase\&}{ socket}}
|
||||
|
||||
Accept an incoming connection using the specified socket object.
|
||||
This is useful when someone wants to inherit wxSocketBase.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{socket}{Socket to be initialized}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if no error occurs, else FALSE.
|
||||
|
||||
|
@@ -143,7 +143,7 @@ This should be called if you wish to initially view only a single pane in the sp
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically},\rtfsp
|
||||
\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}.
|
||||
\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}
|
||||
|
||||
\membersection{wxSplitterWindow::IsSplit}\label{wxsplitterwindowissplit}
|
||||
|
||||
@@ -189,9 +189,25 @@ programmatically or using the wxSplitterWindow user interface.
|
||||
The default implementation of this function simply hides {\it removed}. You
|
||||
may wish to delete the window.
|
||||
|
||||
\membersection{wxSplitterWindow::OnSashPositionChange}\label{wxsplitterwindowonsashpositionchange}
|
||||
|
||||
\func{virtual bool}{OnSashPositionChange}{\param{int }{newSashPosition}}
|
||||
|
||||
Application-overridable function called when the sash position is changed by
|
||||
user. It may return FALSE to prevent the change or TRUE to allow it.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{newSashPosition}{The new sash position (always positive or zero)}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The default implementation of this function verifies that the sizes of both
|
||||
panes of the splitter are greater than minimum pane size.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}
|
||||
\helpref{wxSplitterWindow::GetMinimumPaneSize}{wxsplitterwindowgetminimumpanesize}
|
||||
|
||||
\membersection{wxSplitterWindow::SetSashPosition}\label{wxsplitterwindowsetsashposition}
|
||||
|
||||
@@ -255,7 +271,7 @@ Only sets the internal variable; does not update the display.
|
||||
\membersection{wxSplitterWindow::SplitHorizontally}\label{wxsplitterwindowsplithorizontally}
|
||||
|
||||
\func{bool}{SplitHorizontally}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
|
||||
\param{int}{ sashPosition = -1}}
|
||||
\param{int}{ sashPosition = 0}}
|
||||
|
||||
Initializes the top and bottom panes of the splitter window.
|
||||
|
||||
@@ -265,8 +281,10 @@ Initializes the top and bottom panes of the splitter window.
|
||||
|
||||
\docparam{window2}{The bottom pane.}
|
||||
|
||||
\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position
|
||||
is chosen.}
|
||||
\docparam{sashPosition}{The initial position of the sash. If this value is
|
||||
positive, it specifies the size of the upper pane. If it's negative, it's
|
||||
absolute value gives the size of the lower pane. Finally, specify 0 (default)
|
||||
to choose the default position (half of the total window height).}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
@@ -274,18 +292,19 @@ TRUE if successful, FALSE otherwise (the window was already split).
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
This should be called if you wish to initially view two panes. It can also be called at any subsequent time,
|
||||
but the application should check that the window is not currently split using \helpref{IsSplit}{wxsplitterwindowissplit}.
|
||||
This should be called if you wish to initially view two panes. It can also be
|
||||
called at any subsequent time, but the application should check that the
|
||||
window is not currently split using \helpref{IsSplit}{wxsplitterwindowissplit}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically}, \helpref{wxSplitterWindow::IsSplit}{wxsplitterwindowissplit},\rtfsp
|
||||
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}.
|
||||
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}
|
||||
|
||||
\membersection{wxSplitterWindow::SplitVertically}\label{wxsplitterwindowsplitvertically}
|
||||
|
||||
\func{bool}{SplitVertically}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
|
||||
\param{int}{ sashPosition = -1}}
|
||||
\param{int}{ sashPosition = 0}}
|
||||
|
||||
Initializes the left and right panes of the splitter window.
|
||||
|
||||
@@ -295,8 +314,10 @@ Initializes the left and right panes of the splitter window.
|
||||
|
||||
\docparam{window2}{The right pane.}
|
||||
|
||||
\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position
|
||||
is chosen.}
|
||||
\docparam{sashPosition}{The initial position of the sash. If this value is
|
||||
positive, it specifies the size of the left pane. If it's negative, it's
|
||||
absolute value gives the size of the right pane. Finally, specify 0 (default)
|
||||
to choose the default position (half of the total window width).}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
|
@@ -10,7 +10,11 @@ be variable length according to the size of the window.
|
||||
|
||||
\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}.
|
||||
|
||||
|
@@ -39,6 +39,12 @@ Deletes string list, deallocating strings.
|
||||
|
||||
Adds string to list, allocating memory.
|
||||
|
||||
\membersection{wxStringList::Clear}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
Clears all strings from the list.
|
||||
|
||||
\membersection{wxStringList::Delete}
|
||||
|
||||
\func{void}{Delete}{\param{const wxString\& }{s}}
|
||||
|
@@ -11,7 +11,8 @@ This class represents a tab control, which manages multiple tabs.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTabEvent}{wxtabevent}, \helpref{wxImageList}{wximagelist}
|
||||
\helpref{wxTabEvent}{wxtabevent}, \helpref{wxImageList}{wximagelist},\rtfsp
|
||||
\helpref{wxNotebook}{wxnotebook}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -117,7 +118,7 @@ Returns the string for the given tab.
|
||||
|
||||
\membersection{wxTabCtrl::GetRowCount}\label{wxtabctrlgetrowcount}
|
||||
|
||||
\constfunc{bool}{GetRowCount}{\void}
|
||||
\constfunc{int}{GetRowCount}{\void}
|
||||
|
||||
Returns the number of rows in the tab control.
|
||||
|
||||
@@ -188,7 +189,7 @@ Sets the client data for a tab.
|
||||
\func{bool}{SetItemImage}{\param{int}{ item}, \param{int }{image}}
|
||||
|
||||
Sets the image index for the given tab. {\it image} is an index into
|
||||
the image list which was set with \helpref{wxTabCtrl::SetImageList}{setimagelist}.
|
||||
the image list which was set with \helpref{wxTabCtrl::SetImageList}{wxtabctrlsetimagelist}.
|
||||
|
||||
\membersection{wxTabCtrl::SetImageList}\label{wxtabctrlsetimagelist}
|
||||
|
||||
|
48
docs/latex/wx/tconfig.tex
Normal file
48
docs/latex/wx/tconfig.tex
Normal file
@@ -0,0 +1,48 @@
|
||||
\section{Config classes overview}\label{wxconfigoverview}
|
||||
|
||||
Classes: \helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
This overview briefly describes what the config classes are and what are the
|
||||
for. All the details about how to use them may be found in the description of
|
||||
the \helpref{wxConfigBase}{wxconfigbase} class and the documentation of the
|
||||
file, registry and INI file based implementations mentions all the
|
||||
features/limitations specific to each one of these versions.
|
||||
|
||||
The config classes provide a way to store some application configuration
|
||||
information. They were especially designed for this usage and, although may
|
||||
probably be used for many other things as well, should be limited to it. It
|
||||
means that this information should be:
|
||||
\begin{itemize}
|
||||
\item{1.} Typed, i.e. strings or numbers for the moment. You can not store
|
||||
binary data, for example.
|
||||
\item{2.} Small. For instance, it is not recommended to use the Windows
|
||||
registry for amounts of data more than a couple of kilobytes.
|
||||
\item{3.} Not performance critical, neither from speed nor from memory
|
||||
consumption point of view.
|
||||
\end{itemize}
|
||||
|
||||
On the other hand, the provided features make them very useful for storing all
|
||||
kind of small to medioum volumes of hierarchically organized heterogenous
|
||||
data. In short, this is a place where you can conveniently stuff all your data
|
||||
(numbers and strings) organizing it in a tree where you use the
|
||||
filesystem-like paths to specify the location of a piece of data. In
|
||||
particular, these classes were designed to be as easy to use as possible.
|
||||
|
||||
From another point of view, they provide an interface which hides the
|
||||
differences between the Windows registry and the standard Unix text format
|
||||
configuration files. Other (future) implementations of wxConfigBase might also
|
||||
understand GTK ressource files or their analogues on the KDE side.
|
||||
|
||||
In any case, each implementation of wxConfigBase does its best (although due
|
||||
to the limitations of the underlying physical storage as in the case of
|
||||
wxIniConfigs it may not implement 100\% of the base class functionality) to
|
||||
make the data look the same way everywhere. So you have the groups of entries
|
||||
and the entries themselves. Each entry contains either a string or a number
|
||||
(or a boolean value... support for other types of data such as dates or
|
||||
timestamps is planned) and is identified by the full path to it: something
|
||||
like /MyApp/UserPreferences/Colors/Foreground. The previous elements in the
|
||||
path are the group names, each name may contain an arbitrary number of entries
|
||||
and subgroups. The path components are {\bf always} separated with a slash,
|
||||
even though some implementations use the backslash internally. The further
|
||||
details (including how to read/write these entries) may be found in
|
||||
\helpref{wxConfigBase}{wxconfigbase} documentation.
|
@@ -1,56 +1,84 @@
|
||||
\section{Debugging overview}\label{debuggingoverview}
|
||||
|
||||
Classes: \helpref{wxDebugContext}{wxdebugcontext}, \helpref{wxDebugStreamBuf}{wxdebugstreambuf},
|
||||
\rtfsp\helpref{wxObject}{wxobject}
|
||||
Classes, functions and macros: \helpref{wxDebugContext}{wxdebugcontext}, \helpref{wxObject}{wxobject}, \helpref{wxLog}{wxlog},
|
||||
\rtfsp\helpref{Log functions}{logfunctions}, \helpref{Debug macros}{debugmacros}
|
||||
|
||||
Various classes, functions and macros are provided in wxWindows to help you debug
|
||||
your application. Most of these are only available if you compile both wxWindows,
|
||||
your application and {\it all} libraries that use wxWindows with the DEBUG flag
|
||||
set to 1 or more.
|
||||
your application and {\it all} libraries that use wxWindows with the \_\_WXDEBUG\_\_ symbol
|
||||
defined. You can also test the \_\_WXDEBUG\_\_ symbol in your own applications to execute
|
||||
code that should be active only in debug mode.
|
||||
|
||||
wxDebugContext is a class that never gets instantiated, but ties together
|
||||
various functions and variables. It allows you to set the debugging stream, dump
|
||||
all objects to that stream, write statistics about object allocation, and
|
||||
\wxheading{wxDebugContext}
|
||||
|
||||
\helpref{wxDebugContext}{wxdebugcontext} is a class that never gets instantiated, but ties together
|
||||
various static functions and variables. It allows you to dump all objects to that stream, write statistics about object allocation, and
|
||||
check memory for errors.
|
||||
|
||||
You can use the \helpref{WXTRACE}{trace} macro to output debugging information in DEBUG mode;
|
||||
it will be defined to nothing for non-debugging code.
|
||||
|
||||
It is good practice to define a Dump member function for each class you derive
|
||||
from a wxWindows class, so that wxDebugContext::Dump can call it and
|
||||
It is good practice to define a \helpref{wxObject::Dump}{wxobjectdump} member function for each class you derive
|
||||
from a wxWindows class, so that \helpref{wxDebugContext::Dump}{wxdebugcontextdump} can call it and
|
||||
give valuable information about the state of the application.
|
||||
|
||||
If you have difficulty tracking down a memory leak, recompile
|
||||
in debugging mode and call \helpref{wxDebugContext::Dump}{wxdebugcontextdump} and \helpref{wxDebugContext::PrintStatistics}{wxdebugcontextprintstatistics} at
|
||||
appropriate places. They will tell you what objects have not yet been
|
||||
deleted, and what kinds of object they are. In fact, in debug mode wxWindows will automatically
|
||||
detect memory leaks when your application is about to exit, and if there are any leaks,
|
||||
will give you information about the problem. (How much information depends on the operating system
|
||||
and compiler -- some systems don't allow all memory logging to be enabled). See the
|
||||
memcheck sample for example of usage.
|
||||
|
||||
For wxDebugContext to do its work, the {\it new} and {\it delete}\rtfsp
|
||||
operators for wxObject have been redefined to store extra information
|
||||
about dynamically allocated objects (but not statically declared
|
||||
objects). This slows down a debugging version of an application, but can
|
||||
in theory find difficult-to-detect memory leaks (objects are not
|
||||
find difficult-to-detect memory leaks (objects are not
|
||||
deallocated), overwrites (writing past the end of your object) and
|
||||
underwrites (writing to memory in front of the object).
|
||||
|
||||
If you have difficulty tracking down a memory leak, recompile
|
||||
in debugging mode and call wxDebugContext::Dump and wxDebugContext::Statistics
|
||||
at appropriate places. They will tell you what objects have not yet been
|
||||
deleted, and what kinds of object they are.
|
||||
|
||||
If you use the macro WXDEBUG\_NEW instead of the normal 'new', the debugging
|
||||
output (and error messages reporting memory problems) will also tell you what
|
||||
file and on what line you allocated the object.
|
||||
|
||||
To avoid the need for replacing existing new operators with WXDEBUG\_NEW, you
|
||||
can write this at the top of each application file:
|
||||
If debugging mode is on and the symbol wxUSE\_GLOBAL\_MEMORY\_OPERATORS is set
|
||||
to 1 in setup.h, 'new' is defined to be:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
#define new WXDEBUG\_NEW
|
||||
#define new new(__FILE__,__LINE__)
|
||||
\end{verbatim}
|
||||
}%
|
||||
|
||||
In non-debugging mode, this will revert to the usual interpretation
|
||||
of new. Note that for this not to mess up new-based allocation of non-wxObject derived classes and
|
||||
built-in types, there are global definitions of new and delete which match
|
||||
the syntax required for storing filename and line numbers. These merely
|
||||
call malloc and free, and so do not do anything interesting. The definitions
|
||||
may possibly cause multiple symbol problems for some compilers and so might
|
||||
need to be omitted by setting the USE\_GLOBAL\_MEMORY\_OPERATORS to 0 in wx\_setup.h
|
||||
All occurrences of 'new' in wxWindows and your own application will use
|
||||
the overridden form of the operator with two extra arguments. This means that the debugging
|
||||
output (and error messages reporting memory problems) will tell you what
|
||||
file and on what line you allocated the object. Unfortunately not all
|
||||
compilers allow this definition to work properly, but most do.
|
||||
|
||||
\wxheading{Debug macros}
|
||||
|
||||
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
|
||||
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
|
||||
will save a surprising amount of time in the long run.
|
||||
|
||||
\helpref{wxASSERT}{wxassert} is used to pop up an error message box when a condition
|
||||
is not true. You can also use \helpref{wxASSERT\_MSG}{wxassertmsg} to supply your
|
||||
own helpful error message. For example:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
void MyClass::MyFunction(wxObject* object)
|
||||
{
|
||||
wxASSERT_MSG( (object != NULL), "object should not be NULL in MyFunction!" );
|
||||
|
||||
...
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
The message box allows you to continue execution or abort the program. If you are running
|
||||
the application inside a debugger, you will be able to see exactly where the problem was.
|
||||
|
||||
\wxheading{Logging functions}
|
||||
|
||||
You can use the \helpref{wxLogDebug}{wxlogdebug} and \helpref{wxLogTrace}{wxlogtrace} functions to output debugging information in debug mode;
|
||||
it will do nothing for non-debugging code.
|
||||
|
||||
\subsection{wxDebugContext overview}\label{wxdebugcontextoverview}
|
||||
|
||||
@@ -59,8 +87,7 @@ need to be omitted by setting the USE\_GLOBAL\_MEMORY\_OPERATORS to 0 in wx\_set
|
||||
Class: \helpref{wxDebugContext}{wxdebugcontext}
|
||||
|
||||
wxDebugContext is a class for performing various debugging and memory tracing
|
||||
operations. wxDebugContext, and the related macros and function WXTRACE and
|
||||
wxTrace, are only present if USE\_DEBUG\_CONTEXT is used.
|
||||
operations.
|
||||
|
||||
This class has only static data and function members, and there should be
|
||||
no instances. Probably the most useful members are SetFile (for directing output
|
||||
@@ -70,35 +97,26 @@ Dump (for dumping the dynamically allocated objects) and PrintStatistics
|
||||
Check to check memory blocks for integrity.
|
||||
|
||||
Here's an example of use. The SetCheckpoint ensures that only the
|
||||
allocations done after the checkpoint will be dumped. Unfortunately
|
||||
the define of new to WXDEBUG\_NEW does not work for Borland C++ (and
|
||||
perhaps other compilers) because it fails to find the correct overloaded
|
||||
operator for non-object usage of new. Instead, you need to use WXDEBUG\_NEW
|
||||
explicitly if there are any examples of non-object new usage in the file.
|
||||
allocations done after the checkpoint will be dumped.
|
||||
|
||||
\begin{verbatim}
|
||||
#define new WXDEBUG_NEW
|
||||
|
||||
wxDebugContext::SetCheckpoint();
|
||||
|
||||
wxDebugContext::SetFile("c:\\temp\\debug.log");
|
||||
|
||||
wxString *thing = new wxString;
|
||||
|
||||
// Proves that defining 'new' to be 'WXDEBUG_NEW' doesn't mess up
|
||||
// non-object allocation. Doesn't work for Borland C++.
|
||||
char *ordinaryNonObject = new char[1000];
|
||||
|
||||
wxDebugContext::Dump();
|
||||
wxDebugContext::PrintStatistics();
|
||||
\end{verbatim}
|
||||
|
||||
You can use wxDebugContext if DEBUG is 1 or more, or you can use it
|
||||
at any other time (if USE\_DEBUG\_CONTEXT is 1). It is not disabled
|
||||
for DEBUG = 1 (as in earlier versions of wxWindows) because you
|
||||
may not wish to recompile wxWindows and your entire application
|
||||
just to make use of the error logging facility. This is especially
|
||||
true in a Windows NT or Windows 95 environment, where you cannot
|
||||
easily output to a debug window: wxDebugContext can be used to
|
||||
write to log files instead.
|
||||
You can use wxDebugContext if \_\_WXDEBUG\_\_ is defined, or you can use it
|
||||
at any other time (if wxUSE\_DEBUG\_CONTEXT is set to 1 in setup.h). It is not disabled
|
||||
in non-debug mode because you may not wish to recompile wxWindows and your entire application
|
||||
just to make use of the error logging facility.
|
||||
|
||||
Note: wxDebugContext::SetFile has a problem at present, so use the default stream instead.
|
||||
Eventually the logging will be done through the wxLog facilities instead.
|
||||
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
Classes: \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
|
||||
\helpref{wxDocManager}{wxdocmanager}, \helpref{wxDocParentFrame}{wxdocparentframe}, \helpref{wxDocChildFrame}{wxdocchildframe},
|
||||
\rtfsp\helpref{wxDocMDIParentFrame}{wxdocmdiparentframe}, \helpref{wxDocMDIChildFrame}{wxdocmdichildframe},
|
||||
\rtfsp\helpref{wxCommand}{wxcommand}, \helpref{wxCommandProcessor}{wxcommandprocessor}
|
||||
|
||||
The document/view framework is found in most application frameworks, because it
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
code used by the default document/view parent frame.
|
||||
you need to handle them using an event handler, for example:
|
||||
|
||||
{\small
|
||||
\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)
|
||||
{
|
||||
case wxID_EXIT:
|
||||
{
|
||||
if (GetEventHandler()->OnClose())
|
||||
delete this;
|
||||
break;
|
||||
}
|
||||
case wxID_FILE1:
|
||||
case wxID_FILE2:
|
||||
case wxID_FILE3:
|
||||
case wxID_FILE4:
|
||||
case wxID_FILE5:
|
||||
case wxID_FILE6:
|
||||
case wxID_FILE7:
|
||||
case wxID_FILE8:
|
||||
case wxID_FILE9:
|
||||
{
|
||||
char *f = docManager->GetHistoryFile(id-wxID_FILE1);
|
||||
if (f)
|
||||
(void)docManager->CreateDocument(f, wxDOC_SILENT);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
docManager->OnMenuCommand(id);
|
||||
}
|
||||
}
|
||||
Close();
|
||||
}
|
||||
|
||||
void wxDocParentFrame::OnMRUFile(wxCommandEvent& event)
|
||||
{
|
||||
wxString f(m_docManager->GetHistoryFile(event.GetSelection() - wxID_FILE1));
|
||||
if (f != "")
|
||||
(void)m_docManager->CreateDocument(f, wxDOC_SILENT);
|
||||
}
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\subsection{wxWindows predefined command identifiers}\label{predefinedids}
|
||||
|
||||
|
@@ -290,3 +290,9 @@
|
||||
\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
|
||||
\newcommand{\windowstyle}[1]{{\bf #1}\index{#1}}
|
||||
|
||||
\addtolength{\textwidth}{1in}
|
||||
\addtolength{\oddsidemargin}{-0.5in}
|
||||
\addtolength{\topmargin}{-0.5in}
|
||||
\addtolength{\textheight}{1in}
|
||||
\sloppy
|
||||
|
||||
|
@@ -46,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
|
||||
wxTextCtrl header file.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a text control, use these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxCommandEvent}{wxcommandevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_UPDATED event,
|
||||
generated when the text changes.}
|
||||
\twocolitem{{\bf EVT\_TEXT\_ENTER(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_ENTER event,
|
||||
generated when enter is pressed in a single-line text control.}
|
||||
\end{twocollist}%
|
||||
|
||||
%\wxheading{See also}
|
||||
%
|
||||
%\helpref{wxRichTextCtrl}{wxrichtextctrl}
|
||||
|
@@ -38,8 +38,8 @@ These might override predefined event handlers such as \helpref{wxWindow::OnChar
|
||||
\rtfsp\helpref{wxWindow::OnMouseEvent}{wxwindowonmouseevent}.
|
||||
|
||||
Most modern applications will have an on-line, hypertext help system; for this, you
|
||||
need wxHelp and the \helpref{wxHelpControllerBase}{wxhelpcontrollerbase} class to control
|
||||
wxHelp. To add sparkle, you might use the wxToolBar class (documented separately)
|
||||
need wxHelp and the \helpref{wxHelpController}{wxhelpcontroller} class to control
|
||||
wxHelp. To add sparkle, you might use the wxToolBar class
|
||||
which makes heavy use of the \helpref{wxBitmap}{wxbitmap}.
|
||||
|
||||
GUI applications aren't all graphical wizardry. List and hash table needs are
|
||||
|
@@ -52,7 +52,7 @@ calling thread.
|
||||
|
||||
\func{wxThreadError}{Destroy}{\void}
|
||||
|
||||
Destroys the thread immediately unless the application has specified deferral via \helpref{wxThread::DeferDestroy}{deferdestroy}.
|
||||
Destroys the thread immediately unless the application has specified deferral via \helpref{wxThread::DeferDestroy}{wxthreaddeferdestroy}.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
@@ -80,9 +80,9 @@ The following priorities are already defined:
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
|
||||
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
|
||||
\end{twocollist}
|
||||
|
||||
\membersection{wxThread::IsAlive}\label{wxthreadisalive}
|
||||
@@ -119,8 +119,13 @@ The following priorities are already defined:
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
|
||||
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
|
||||
\end{twocollist}
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
146
docs/latex/wx/tlog.tex
Normal file
146
docs/latex/wx/tlog.tex
Normal file
@@ -0,0 +1,146 @@
|
||||
\section{Log classes overview}\label{wxlogoverview}
|
||||
|
||||
Classes: \helpref{wxLog}{wxlog}
|
||||
%\helpref{wxLogStderr}{wxlogstderr},%
|
||||
%\helpref{wxLogOstream}{wxlogostream}, \helpref{wxLogTextCtrl}{wxlogtextctrl},%
|
||||
%\helpref{wxLogWindow}{wxlogwindow}, \helpref{wxLogGui}{wxloggui},%
|
||||
%\helpref{wxLogNull}{wxlognull}%
|
||||
|
||||
This is a general overview of logging classes provided by wxWindows. The word
|
||||
logging here has a broad sense, including all of the program output, not only
|
||||
non interactive messages. The logging facilities included in wxWindows provide
|
||||
the base {\it wxLog} class which defines the standard interface for a {\it log
|
||||
target} as well as several standard implementations of it and a family of
|
||||
functions to use with them.
|
||||
|
||||
First of all, no knowledge of {\it wxLog} classes is needed to use them. For
|
||||
this, you should only know about {\it wxLogXXX()} functions. All of them have
|
||||
the same syntax as {\it printf()}, i.e. they take the format string as the
|
||||
first argument and a variable number of arguments. Here are all of them:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{\bf wxLogFatalError} which is like {\it wxLogError}, but also
|
||||
terminates the program with the exit code 3 (using {\it abort()} standard
|
||||
function also terminates the program with this exit code).
|
||||
\item{\bf wxLogError} is the function to use for error messages, i.e. the
|
||||
messages that must be shown to the user. The default processing is to pop up a
|
||||
message box to inform the user about it.
|
||||
\item{\bf wxLogWarning} for warnings - they are also normally shown to the
|
||||
user, but don't interrupt the program work.
|
||||
\item{\bf wxLogMessage} is for all normal, informational messages. They also
|
||||
appear in a message box by default (but it can be changed, see below). Notice
|
||||
that the standard behaviour is to not show informational messages if there are
|
||||
any errors later - the logic being that the later error messages make the
|
||||
informational messages preceding them meaningless.
|
||||
\item{\bf wxLogVerbose} is for verbose output. Normally, it's suppressed, but
|
||||
might be activated if the user wishes to know more details about the program
|
||||
progress (another, but possibly confusing name for the same function is {\bf
|
||||
wxLogInfo}).
|
||||
\item{\bf wxLogStatus} is for status messages - they will go into the status
|
||||
bar of the active or specified (as the first argument) \helpref{wxFrame}{wxframe} if it has one.
|
||||
\item{\bf wxLogSysError} is mostly used by wxWindows itself, but might be
|
||||
handy for logging errors after system call (API function) failure. It logs the
|
||||
specified message text as well as the last system error
|
||||
code ({\it errno} or {\it ::GetLastError()} depending on the platform) and the corresponding error
|
||||
message. The second form of this function takes the error code explitly as the
|
||||
first argument.
|
||||
\item{\bf wxLogDebug} is {\bf the} right function for debug output. It only
|
||||
does anything at all in the debug mode (when the preprocessor symbol
|
||||
\_\_WXDEBUG\_\_ is defined) and expands to nothing in release mode (otherwise).
|
||||
\item{\bf wxLogTrace} as {\bf wxLogDebug} only does something in debug
|
||||
build. The reason for making it a separate function from it is that usually
|
||||
there are a lot of trace messages, so it might make sense to separate them
|
||||
from other debug messages which would be flooded in them. Moreover, the second
|
||||
version of this function takes a trace mask as the first argument which allows
|
||||
to further restrict the amount of messages generated.
|
||||
\end{itemize}
|
||||
|
||||
The usage of these functions should be fairly straightforward, however it may
|
||||
be asked why not use the other logging facilities, such as C standard stdio
|
||||
functions or C++ streams. The short answer is that they're all very good
|
||||
generic mechanisms, but are not really adapted for wxWindows, while the log
|
||||
classes are. Some of advantages in using wxWindows log functions are:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{\bf Portability} It's a common practice to use {\it printf()} statements or
|
||||
cout/cerr C++ streams for writing out some (debug or otherwise) information.
|
||||
Although it works just fine under Unix, these messages go strictly nowhere
|
||||
under Windows where the stdout of GUI programs is not assigned to anything.
|
||||
Thus, you might view {\it wxLogMessage()} as a simple substitute for {\it
|
||||
printf()}.
|
||||
\item{\bf Flexibility} The output of wxLog functions can be redirected or
|
||||
suppressed entirely based on their importance, which is either impossible or
|
||||
difficult to do with traditional methods. For example, only error messages, or
|
||||
only error messages and warnings might be logged, filtering out all
|
||||
informational messages.
|
||||
\item{\bf Completeness} Usually, an error message should be presented to the user
|
||||
when some operation fails. Let's take a quite simple but common case of a file
|
||||
error: suppose that you're writing your data file on disk and there is not
|
||||
enough space. The actual error might have been detected inside wxWindows code
|
||||
(say, in {\it wxFile::Write}), so the calling function doesn't really know the
|
||||
exact reason of the failure, it only knows that the data file couldn't be
|
||||
written to the disk. However, as wxWindows uses {\it wxLogError()} in this
|
||||
situation, the exact error code (and the corresponding error message) will be
|
||||
given to the user together with "high level" message about data file writing
|
||||
error.
|
||||
\end{itemize}
|
||||
|
||||
After having enumerated all the functions which are normally used to log the
|
||||
messages, and why would you want to use them we now describe how all this
|
||||
works.
|
||||
|
||||
wxWindows has the notion of a {\it log target}: it's just a class deriving
|
||||
from \helpref{wxLog}{wxlog}. As such, it implements the virtual functions of
|
||||
the base class which are called when a message is logged. Only one log target
|
||||
is {\it active} at any moment, this is the one used by \it{wxLogXXX()}
|
||||
functions. The normal usage of a log object (i.e. object of a class derived
|
||||
from wxLog) is to install it as the active target with a call to {\it
|
||||
SetActiveTarget()} and it will be used automatically by all subsequent calls
|
||||
to {\it wxLogXXX()} functions.
|
||||
|
||||
To create a new log target class you only need to derive it from wxLog and
|
||||
implement one (or both) of {\it DoLog()} and {\it DoLogString()} in it. The
|
||||
second one is enough if you're happy with the standard wxLog message
|
||||
formatting (prepending "Error:" or "Warning:", timestamping \&c) but just want
|
||||
to send the messages somewhere else. The first one may be overridden to do
|
||||
whatever you want but you have to distinguish between the different message
|
||||
types yourself.
|
||||
|
||||
There are some predefined classes deriving from wxLog and which might be
|
||||
helpful to see how you can create a new log target class and, of course, may
|
||||
also be used without any change. There are:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{\bf wxLogStderr} This class logs messages to a {\it FILE *}, using
|
||||
stderr by default as its name suggests.
|
||||
\item{\bf wxLogStream} This class has the same functionality as wxLogStderr,
|
||||
but uses {\it ostream} and cerr instead of {\it FILE *} and stderr.
|
||||
\item{\bf wxLogGui} This is the standard log target for wxWindows
|
||||
applications (it's used by default if you don't do anything) and provides the
|
||||
most reasonable handling of all types of messages for given platform.
|
||||
\item{\bf wxLogWindow} This log target provides a "log console" which
|
||||
collects all messages generated by the application and also passes them to the
|
||||
previous active log target. The log window frame has a menu allowing user to
|
||||
clear the log, close it completely or save all messages to file.
|
||||
\item{\bf wxLogNull} The last log class is quite particular: it doesn't do
|
||||
anything. The objects of this class may be instantiated to (temporarily)
|
||||
suppress output of {\it wxLogXXX()} functions. As an example, trying to open a
|
||||
non-existing file will usually provoke an error message, but if you for some
|
||||
reason it's unwanted, just use this construction:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxFile file;
|
||||
|
||||
// wxFile.Open() normally complains if file can't be opened, we don't want it
|
||||
{
|
||||
wxLogNull logNo;
|
||||
if ( !file.Open("bar") )
|
||||
... process error ourselves ...
|
||||
} // ~wxLogNull called, old log sink restored
|
||||
|
||||
wxLogMessage("..."); // ok
|
||||
\end{verbatim}
|
||||
}
|
||||
\end{itemize}
|
||||
|
@@ -1,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
|
||||
one of these is the generic \helpref{wxToolBarSimple}{wxtoolbarsimple} class. {\bf wxToolBarBase} defines
|
||||
automatic scrolling management functionality which is identical to \helpref{wxScrolledWindow}{wxscrolledwindow},
|
||||
so please refer to this class also.
|
||||
The name wxToolBar is defined to be a synonym for one of the following classes:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item {\bf wxToolBar95} The native Windows 95 toolbar. Used on Windows 95, NT 4 and above.
|
||||
\item {\bf wxToolBarMSW} A Windows implementation. Used on 16-bit Windows.
|
||||
\item {\bf wxToolBarGTK} The GTK toolbar.
|
||||
\item {\bf wxToolBarSimple} A simple implementation, with scrolling.
|
||||
Used on platforms with no native toolbar control, or where scrolling is required.
|
||||
\end{itemize}
|
||||
|
||||
Note that the base class {\bf wxToolBarBase} defines
|
||||
automatic scrolling management functionality which is identical
|
||||
to \helpref{wxScrolledWindow}{wxscrolledwindow}, so please refer to this class also.
|
||||
Not all toolbars support scrolling, but wxToolBarSimple does.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxToolBarBase\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
@@ -14,58 +25,107 @@ so please refer to this class also.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Because there is a variety of toolbar classes, you may wish to choose which class
|
||||
is best for your application on each platform, and define {\bf wxToolBar} appropriately. For example:
|
||||
You may also create a toolbar that is managed by the frame, by
|
||||
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
||||
|
||||
\begin{verbatim}
|
||||
#if WIN95
|
||||
class wxToolBar: public wxToolBar95
|
||||
#elif defined(wx_msw)
|
||||
class wxToolBar: public wxToolBarMSW
|
||||
#else
|
||||
class wxToolBar: public wxToolBarSimple
|
||||
#endif
|
||||
{
|
||||
};
|
||||
\end{verbatim}
|
||||
{\bf wxToolBar95:} Note that this toolbar paints tools to reflect user-selected colours.
|
||||
The toolbar orientation must always be {\bf wxVERTICAL}.
|
||||
|
||||
TODO: maybe change the confusing names: GetDefaultSize becomes GetToolBitmapSize, and
|
||||
GetDefaultButtonSize becomes GetToolSize. Document SetRows for wxToolBar95, and make it
|
||||
part of the base API?
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 only.}
|
||||
\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout.}
|
||||
\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the Windows 95
|
||||
toolbar).}
|
||||
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives wxToolBarSimple a mild 3D look to its buttons.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\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}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBarMSW}{wxtoolbarmsw},\rtfsp
|
||||
\helpref{wxToolBar95}{wxtoolbar95},\rtfsp
|
||||
\helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBarBase::wxToolBarBase}\label{wxtoolbarbaseconstr}
|
||||
\membersection{wxToolBar::wxToolBar}\label{wxtoolbarconstr}
|
||||
|
||||
\func{}{wxToolBarBase}{\void}
|
||||
\func{}{wxToolBar}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
%\wxheading{See also}
|
||||
%
|
||||
%\helpref{wxToolBarBase::Create}{wxtoolbarbasecreate}
|
||||
%
|
||||
\membersection{wxToolBarBase::\destruct{wxToolBarBase}}
|
||||
\func{}{wxToolBar}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
||||
\param{const wxSize\& }{size = wxDefaultSize},
|
||||
\param{long }{style = wxTB\_HORIZONTAL \pipe wxNO\_BORDER},
|
||||
\param{const wxString\& }{name = wxPanelNameStr}}
|
||||
|
||||
\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.
|
||||
|
||||
\membersection{wxToolBarBase::AddSeparator}\label{wxtoolbarbaseaddseparator}
|
||||
\membersection{wxToolBar::AddSeparator}\label{wxtoolbaraddseparator}
|
||||
|
||||
\func{void}{AddSeparator}{\void}
|
||||
|
||||
@@ -73,14 +133,14 @@ Adds a separator for spacing groups of tools.
|
||||
|
||||
\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
|
||||
\param{const wxBitmap\&}{ bitmap2 = (wxBitmap *)NULL}, \param{const bool}{ isToggle = FALSE},\rtfsp
|
||||
\param{const float}{ xPos = -1}, \param{const float}{ yPos = -1},\rtfsp
|
||||
\param{wxObject *}{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
|
||||
\func{wxToolBarTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
|
||||
\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = FALSE},\rtfsp
|
||||
\param{long}{ xPos = -1}, \param{long}{ yPos = -1},\rtfsp
|
||||
\param{wxObject* }{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
|
||||
|
||||
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{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
|
||||
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.
|
||||
Pass the empty string if this is not required.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
After you have added tools to a toolbar, you must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} in
|
||||
order to have the tools appear.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{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}
|
||||
|
||||
Call this function after all tools have been added to the toolbar, to actually
|
||||
create the tools.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Strictly speaking, this is required only for the Windows 95 version of wxButtonBar,
|
||||
but for portability it should be called anyway.
|
||||
This function is implemented for some toolbar classes to create the tools and display them.
|
||||
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
|
||||
you have added tools and separators.
|
||||
|
||||
\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.
|
||||
|
||||
@@ -150,7 +212,7 @@ Draws the specified tool onto the window using the given memory device context.
|
||||
|
||||
For internal use only.
|
||||
|
||||
\membersection{wxToolBarBase::EnableTool}\label{wxtoolbarbaseenabletool}
|
||||
\membersection{wxToolBar::EnableTool}\label{wxtoolbarenabletool}
|
||||
|
||||
\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
|
||||
|
||||
@@ -164,18 +226,18 @@ Enables or disables the tool.
|
||||
|
||||
\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.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::GetToolEnabled}{wxtoolbarbasegettoolenabled},\rtfsp
|
||||
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate},\rtfsp
|
||||
\helpref{wxToolBarBase::ToggleTool}{wxtoolbarbasetoggletool}
|
||||
\helpref{wxToolBar::GetToolEnabled}{wxtoolbargettoolenabled},\rtfsp
|
||||
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate},\rtfsp
|
||||
\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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
\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
|
||||
of added 3D effects.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
||||
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize}
|
||||
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
||||
\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.
|
||||
|
||||
\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.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
||||
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
||||
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
||||
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
||||
|
||||
\membersection{wxToolBarBase::GetMargins}\label{wxtoolbarbasegetmargins}
|
||||
\membersection{wxToolBar::GetMargins}\label{wxtoolbargetmargins}
|
||||
|
||||
\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}
|
||||
|
||||
\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}}
|
||||
|
||||
@@ -244,7 +306,7 @@ This can be used to size a frame around the toolbar window.
|
||||
|
||||
\docparam{h}{Receives the maximum vertical size.}
|
||||
|
||||
\membersection{wxToolBarBase::GetToolClientData}\label{wxtoolbarbasegettoolclientdata}
|
||||
\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata}
|
||||
|
||||
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -252,13 +314,13 @@ Get any client data associated with the tool.
|
||||
|
||||
\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}
|
||||
|
||||
Client data, or NULL if there is none.
|
||||
|
||||
\membersection{wxToolBarBase::GetToolEnabled}\label{wxtoolbarbasegettoolenabled}
|
||||
\membersection{wxToolBar::GetToolEnabled}\label{wxtoolbargettoolenabled}
|
||||
|
||||
\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -274,9 +336,9 @@ TRUE if the tool is enabled, FALSE otherwise.
|
||||
|
||||
%\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}}
|
||||
|
||||
@@ -288,10 +350,10 @@ Returns the long help for the given tool.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
||||
\helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
||||
|
||||
\membersection{wxToolBarBase::GetToolPacking}\label{wxtoolbarbasegettoolpacking}
|
||||
\membersection{wxToolBar::GetToolPacking}\label{wxtoolbargettoolpacking}
|
||||
|
||||
\constfunc{int}{GetToolPacking}{\void}
|
||||
|
||||
@@ -299,9 +361,9 @@ Returns the value used for packing tools.
|
||||
|
||||
\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}
|
||||
|
||||
@@ -309,9 +371,9 @@ Returns the default separator size.
|
||||
|
||||
\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}}
|
||||
|
||||
@@ -325,10 +387,10 @@ Returns the long help for the given tool.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
||||
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
||||
|
||||
\membersection{wxToolBarBase::GetToolState}\label{wxtoolbarbasegettoolstate}
|
||||
\membersection{wxToolBar::GetToolState}\label{wxtoolbargettoolstate}
|
||||
|
||||
\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -344,9 +406,9 @@ TRUE if the tool is toggled on, FALSE otherwise.
|
||||
|
||||
%\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}
|
||||
|
||||
@@ -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
|
||||
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}}
|
||||
|
||||
Called when the user clicks on a tool with the left mouse button. The
|
||||
programmer should override this function to detect left tool clicks.
|
||||
Called when the user clicks on a tool with the left mouse button.
|
||||
|
||||
This is the old way of detecting tool clicks; although it will still work,
|
||||
you should use the EVT\_MENU or EVT\_TOOL macro instead.
|
||||
|
||||
\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.}
|
||||
|
||||
@@ -375,16 +447,19 @@ specifying that toggle operations are not permitted in some circumstances.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
||||
\helpref{wxToolBarBase::OnRightClick}{wxtoolbarbaseonrightclick}
|
||||
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
||||
\helpref{wxToolBar::OnRightClick}{wxtoolbaronrightclick}
|
||||
|
||||
\membersection{wxToolBarBase::OnMouseEnter}\label{wxtoolbarbaseonmouseenter}
|
||||
\membersection{wxToolBar::OnMouseEnter}\label{wxtoolbaronmouseenter}
|
||||
|
||||
\func{void}{OnMouseEnter}{\param{int}{ toolIndex}}
|
||||
|
||||
This is called when the mouse cursor moves into a tool or out of
|
||||
the toolbar.
|
||||
|
||||
This is the old way of detecting mouse enter events; although it will still work,
|
||||
you should use the EVT\_TOOL\_ENTER macro instead.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{toolIndex}{Greater than -1 if the mouse cursor has moved into the tool,
|
||||
@@ -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
|
||||
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}}
|
||||
|
||||
Called when the user clicks on a tool with the right mouse button. The
|
||||
programmer should override this function to detect right tool clicks.
|
||||
|
||||
This is the old way of detecting tool right clicks; although it will still work,
|
||||
you should use the EVT\_TOOL\_RCLICKED macro instead.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
|
||||
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
|
||||
|
||||
\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}
|
||||
|
||||
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
||||
\helpref{wxToolBarBase::OnLeftClick}{wxtoolbarbaseonleftclick}
|
||||
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
||||
\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.
|
||||
|
||||
@@ -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
|
||||
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.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize},\rtfsp
|
||||
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
||||
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
|
||||
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
||||
|
||||
\membersection{wxToolBarBase::SetMargins}\label{wxtoolbarbasesetmargins}
|
||||
\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins}
|
||||
|
||||
\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
|
||||
|
||||
@@ -467,9 +557,9 @@ default (zero-size) margins are to be overridden.
|
||||
|
||||
\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}}
|
||||
|
||||
@@ -487,10 +577,10 @@ You might use the long help for displaying the tool purpose on the status line.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp},\rtfsp
|
||||
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp},\rtfsp
|
||||
|
||||
\membersection{wxToolBarBase::SetToolPacking}\label{wxtoolbarbasesettoolpacking}
|
||||
\membersection{wxToolBar::SetToolPacking}\label{wxtoolbarsettoolpacking}
|
||||
|
||||
\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}
|
||||
|
||||
\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}}
|
||||
|
||||
@@ -527,9 +617,9 @@ An application might use short help for identifying the tool purpose in a toolti
|
||||
|
||||
\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}}
|
||||
|
||||
@@ -541,9 +631,9 @@ Sets the default separator size. The default value is 5.
|
||||
|
||||
\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}}
|
||||
|
||||
@@ -561,213 +651,6 @@ Only applies to a tool that has been specified as a toggle tool.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBarBase::GetToolState}{wxtoolbarbasegettoolstate}
|
||||
|
||||
\section{\class{wxToolBar95}}\label{wxtoolbar95}
|
||||
|
||||
This class should be used when a 3D-effect toolbar is required under Windows 95.
|
||||
It uses the native toolbar control.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style).}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Note that this toolbar paints tools to reflect user-selected colours.
|
||||
The toolbar orientation must always be {\bf wxVERTICAL}.
|
||||
|
||||
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBarMSW}{wxtoolbarmsw}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBar95::wxToolBar95}\label{wxtoolbar95constr}
|
||||
|
||||
\func{}{wxToolBar95}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
|
||||
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
|
||||
|
||||
Constructs a toolbar.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
|
||||
|
||||
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
|
||||
the toolbar.}
|
||||
|
||||
\docparam{nRowsOrColumns}{Specifies the number of rows or
|
||||
columns, whose meaning depends on {\it orientation}. If laid out
|
||||
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
|
||||
before the next column is started; if horizontal, it refers to the
|
||||
number of columns to draw before the next row is started.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxToolBar95}{wxtoolbar95}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\section{\class{wxToolBarMSW}}\label{wxtoolbarmsw}
|
||||
|
||||
This class should be used when a 3D-effect toolbar is required for Windows versions earlier
|
||||
than Windows 95.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no specific styles for this class.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Note that this toolbar does not paint tools to reflect user-selected colours: grey shading is used.
|
||||
|
||||
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBar95}{wxtoolbar95}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBarMSW::wxToolBarMSW}\label{wxtoolbarmswconstr}
|
||||
|
||||
\func{}{wxToolBarMSW}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
|
||||
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
|
||||
|
||||
Constructs a toolbar.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
|
||||
|
||||
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
|
||||
the toolbar.}
|
||||
|
||||
\docparam{nRowsOrColumns}{Specifies the number of rows or
|
||||
columns, whose meaning depends on {\it orientation}. If laid out
|
||||
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
|
||||
before the next column is started; if horizontal, it refers to the
|
||||
number of columns to draw before the next row is started.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxToolBarMSW}{wxtoolbarmsw}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
|
||||
\section{\class{wxToolBarSimple}}\label{wxtoolbarsimple}
|
||||
|
||||
This is the generic toolbar class which has an identical appearance
|
||||
on all platforms.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives the simple toolbar a mild 3D look to its buttons.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
In this class, disabling a toolbar tool does not change its appearance.
|
||||
|
||||
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBar95}{wxtoolbar95}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBarSimple::wxToolBarSimple}\label{wxtoolbarsimpleconstr}
|
||||
|
||||
\func{}{wxToolBarSimple}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
|
||||
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
|
||||
|
||||
Constructs a toolbar.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
|
||||
|
||||
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
|
||||
the toolbar.}
|
||||
|
||||
\docparam{nRowsOrColumns}{Specifies the number of rows or
|
||||
columns, whose meaning depends on {\it orientation}. If laid out
|
||||
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
|
||||
before the next column is started; if horizontal, it refers to the
|
||||
number of columns to draw before the next row is started.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxToolBarSimple}{wxtoolbarsimple}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\helpref{wxToolBar::GetToolState}{wxtoolbargettoolstate}
|
||||
|
||||
|
||||
|
@@ -5,10 +5,11 @@
|
||||
This chapter contains a selection of topic overviews.
|
||||
|
||||
\input tapp.tex
|
||||
\input tlog.tex
|
||||
\input tconfig.tex
|
||||
\input tbitmap.tex
|
||||
\input tdialog.tex
|
||||
\input tfont.tex
|
||||
\input tstring.tex
|
||||
\input tsplittr.tex
|
||||
\input ttreectl.tex
|
||||
\input tlistctl.tex
|
||||
@@ -33,5 +34,6 @@ This chapter contains a selection of topic overviews.
|
||||
\input tvalidat.tex
|
||||
\input texpr.tex
|
||||
\input tgrid.tex
|
||||
\input tstring.tex
|
||||
\input tusage.tex
|
||||
|
||||
|
@@ -24,6 +24,27 @@ able to edit labels in the tree control.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a tree control, use these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_TREE\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
|
||||
\twocolitem{{\bf EVT\_TREE\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
|
||||
\twocolitem{{\bf EVT\_TREE\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
|
||||
\twocolitem{{\bf EVT\_TREE\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
|
||||
\twocolitem{{\bf EVT\_TREE\_DELETE\_ITEM(id, func)}}{Delete an item.}
|
||||
\twocolitem{{\bf EVT\_TREE\_GET\_INFO(id, func)}}{Request information from the application.}
|
||||
\twocolitem{{\bf EVT\_TREE\_SET\_INFO(id, func)}}{Information is being supplied.}
|
||||
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDED(id, func)}}{Parent has been expanded.}
|
||||
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDING(id, func)}}{Parent is being expanded.}
|
||||
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
|
||||
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGING(id, func)}}{Selection is changing.}
|
||||
\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTreeCtrl overview}{wxtreectrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxListCtrl}{wxlistctrl},\rtfsp
|
||||
@@ -90,12 +111,35 @@ Deletes all the items in the control.
|
||||
|
||||
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.
|
||||
|
||||
Pass another {\it textControlClass} if a derived class is required. It usually will be, in order for
|
||||
the application to detect when editing has finished and to call \helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}.
|
||||
|
||||
Do not delete the text control yourself.
|
||||
|
||||
This function is currently supported under Windows only.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}
|
||||
|
||||
\membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel}
|
||||
|
||||
\func{bool}{EndEditLabel}{\param{bool }{cancelEdit}}
|
||||
|
||||
Ends label editing. If {\it cancelEdit} is TRUE, the edit will be cancelled.
|
||||
|
||||
This function is currently supported under Windows only.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel}
|
||||
|
||||
\membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible}
|
||||
|
||||
\func{bool}{EnsureVisible}{\param{long }{item}}
|
||||
|
@@ -8,10 +8,13 @@ Another is that instances of a class cannot be created just by knowing the name
|
||||
which makes facilities such as persistent storage hard to implement.
|
||||
|
||||
Most C++ GUI frameworks overcome these limitations by means of a set of
|
||||
macros and functions and wxWindows (from version 1.62) is no exception.
|
||||
macros and functions and wxWindows is no exception.
|
||||
Each class that you wish to be known the type system should have
|
||||
a macro such as DECLARE\_DYNAMIC\_CLASS just inside the class declaration.
|
||||
The macro IMPLEMENT\_DYNAMIC\_CLASS should be in the implementation file.
|
||||
Note that these are entirely optional; use them if you wish to check object
|
||||
types, or create instances of classes using the class name. However,
|
||||
it is good to get into the habit of adding these macros for all classes.
|
||||
|
||||
Variations on these \helpref{macros}{macros} are used for multiple inheritance, and abstract
|
||||
classes that cannot be instantiated dynamically or otherwise.
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,6 @@
|
||||
\section{Toolbar overview}\label{wxtoolbaroverview}
|
||||
|
||||
Classes: \helpref{wxToolBarBase}{wxtoolbarbase}, \helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBarMSW}{wxtoolbarmsw}, \helpref{wxToolBar95}{wxtoolbar95}
|
||||
Classes: \helpref{wxToolBar}{wxtoolbar}
|
||||
|
||||
The toolbar family of classes allows an application to use toolbars
|
||||
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
|
||||
toolbar implementations will emerge (for example, using the
|
||||
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
|
||||
on one platform (say, wxToolBar95) and a simple toolbar on another
|
||||
platform (wxToolBarSimple), then you will need some simple ifdefing, such as:
|
||||
|
||||
\begin{verbatim}
|
||||
#ifdef wx_msw
|
||||
# define wxToolBar wxToolBar95
|
||||
#else
|
||||
# define wxToolBar wxToolBarSimple
|
||||
#endif
|
||||
\end{verbatim}
|
||||
|
||||
Fortunately, the APIs of the toolbar classes are virtually identical.
|
||||
For each platform, the symbol {\bf wxToolBar} is defined to be one of the
|
||||
specific toolbar classes.
|
||||
|
||||
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.
|
||||
\item {\bf wxToolBarMSW.} This class implements an old-style Windows toolbar, only on
|
||||
Windows. There are small, three-dimensional buttons, which do not (currently) reflect
|
||||
the current Windows colour settings: the buttons are grey.
|
||||
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
|
||||
background and button colours according to user colour settings.
|
||||
CreateTools must be called after the tools have been added.
|
||||
No absolute positioning is supported but you can specify the number
|
||||
of rows, and add tool separators with {\bf AddSeparator}. {\bf Layout} does nothing.
|
||||
Tooltips are supported. {\bf OnRightClick} is not supported.
|
||||
For some reason, a wxToolBar95 control cannot be moved to any
|
||||
position other than the top-left of the frame.
|
||||
of rows, and add tool separators with {\bf AddSeparator}.
|
||||
Tooltips are supported. {\bf OnRightClick} is not supported. This is the default wxToolBar
|
||||
on Windows 95, Windows NT 4 and above.
|
||||
\end{itemize}
|
||||
|
||||
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 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
|
||||
one bitmap for each tool, because the toolbar generates all three images (normal,
|
||||
depressed and checked) from the single bitmap you give it.
|
||||
|
||||
Mouse click events for a given button are sent to a member called
|
||||
\rtfsp{\bf OnLeftClick}, and so an application must derive from wxToolBar in order
|
||||
to use it. The application can also handle {\bf OnMouseEnter} events for
|
||||
the tools, to give the user extra feedback about the tools as the mouse
|
||||
moves over them.
|
||||
To intercept
|
||||
|
||||
\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,
|
||||
tbarmsw and tbar95.
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item {\tt "wx/msw/tbarmsw.h} for wxToolBarMSW
|
||||
\item {\tt "wx/msw/tbar95.h} for wxToolBar95
|
||||
\item {\tt "wx/tbarsmpl.h} for wxToolBarSimple
|
||||
\end{itemize}
|
||||
|
||||
Each sample creates a main window, and two toolbars: a floating toolbar
|
||||
with 24 tools, and a toolbar along the top of the main drawing window, divided into groups.
|
||||
|
||||
The test program defines a general-purpose derived frame called
|
||||
\rtfsp{\bf wxFrameWithToolBar} which can manage a frame with one main subwindow
|
||||
and one horizontal toolbar.
|
||||
|
||||
Note that one of the bitmaps on the floating toolbar is a small version of the
|
||||
main graphic: this demonstrates how a memory device context can be used to
|
||||
draw into a bitmap. An application which allowed the user to build up a symbol
|
||||
library dynamically might create this kind of bitmap.
|
||||
|
||||
Left clicks and movements over the toolbars are intercepted and information
|
||||
is displayed on the status line.
|
||||
|
||||
The following fragment illustrates the essence of creating a toolbar.
|
||||
Example of toolbar use are given in the sample program ``toolbar''. The
|
||||
source is given below.
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: test.cpp
|
||||
// Purpose: wxToolBar sample
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 04/01/98
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/toolbar.h"
|
||||
#include "test.h"
|
||||
|
||||
IMPLEMENT_APP(MyApp)
|
||||
|
||||
#ifdef __X__
|
||||
// TODO: include XBM or XPM icons for X apps
|
||||
#endif
|
||||
|
||||
// The `main program' equivalent, creating the windows and returning the
|
||||
// main frame
|
||||
bool MyApp::OnInit(void)
|
||||
{
|
||||
// Create the main frame window
|
||||
MyFrame* frame = new MyFrame(NULL, -1, "wxToolBar Sample",
|
||||
wxPoint(100, 100), wxSize(450, 300));
|
||||
|
||||
// Give it a status line
|
||||
frame->CreateStatusBar();
|
||||
|
||||
// Give it an icon
|
||||
#ifdef __WXMSW__
|
||||
frame->SetIcon(wxIcon("mondrian"));
|
||||
#endif
|
||||
#ifdef __X__
|
||||
frame->SetIcon(wxIcon("mondrian.xbm"));
|
||||
#endif
|
||||
|
||||
// Make a menubar
|
||||
wxMenu *fileMenu = new wxMenu;
|
||||
fileMenu->Append(wxID_EXIT, "E&xit");
|
||||
|
||||
wxMenu *helpMenu = new wxMenu;
|
||||
helpMenu->Append(wxID_HELP, "&About");
|
||||
|
||||
wxMenuBar* menuBar = new wxMenuBar;
|
||||
|
||||
menuBar->Append(fileMenu, "&File");
|
||||
menuBar->Append(helpMenu, "&Help");
|
||||
|
||||
// Associate the menu bar with the frame
|
||||
frame->SetMenuBar(menuBar);
|
||||
|
||||
// Create the toolbar
|
||||
frame->CreateToolBar(wxNO_BORDER|wxHORIZONTAL|wxTB_FLAT, ID_TOOLBAR);
|
||||
|
||||
InitToolbar(frame->GetToolBar());
|
||||
|
||||
// Force a resize. This should probably be replaced by a call to a wxFrame
|
||||
// function that lays out default decorations and the remaining content window.
|
||||
frame->OnSize(wxSizeEvent(wxSize(-1, -1), frame->GetId()));
|
||||
frame->Show(TRUE);
|
||||
|
||||
frame->SetStatusText("Hello, wxWindows");
|
||||
|
||||
SetTopWindow(frame);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool MyApp::InitToolbar(wxToolBar* toolBar)
|
||||
{
|
||||
toolBar->SetMargins(5, 5);
|
||||
|
||||
// Set up toolbar
|
||||
wxBitmap* toolBarBitmaps[8];
|
||||
|
||||
#ifdef __WXMSW__
|
||||
toolBarBitmaps[0] = new wxBitmap("icon1");
|
||||
toolBarBitmaps[1] = new wxBitmap("icon2");
|
||||
toolBarBitmaps[2] = new wxBitmap("icon3");
|
||||
...
|
||||
toolBarBitmaps[3] = new wxBitmap("icon4");
|
||||
toolBarBitmaps[4] = new wxBitmap("icon5");
|
||||
toolBarBitmaps[5] = new wxBitmap("icon6");
|
||||
toolBarBitmaps[6] = new wxBitmap("icon7");
|
||||
toolBarBitmaps[7] = new wxBitmap("icon8");
|
||||
#endif
|
||||
#ifdef __X__
|
||||
// TODO
|
||||
toolBarBitmaps[0] = new wxBitmap(...);
|
||||
toolBarBitmaps[1] = new wxBitmap(...);
|
||||
toolBarBitmaps[2] = new wxBitmap(...);
|
||||
toolBarBitmaps[3] = new wxBitmap(...);
|
||||
toolBarBitmaps[4] = new wxBitmap(...);
|
||||
toolBarBitmaps[5] = new wxBitmap(...);
|
||||
toolBarBitmaps[6] = new wxBitmap(...);
|
||||
toolBarBitmaps[7] = new wxBitmap(...);
|
||||
#endif
|
||||
|
||||
toolBarFrame = new wxFrame(NULL, "Tools", -1, wxPoint(0, 0), wxSize(300, 200),
|
||||
wxDEFAULT_FRAME_STYLE | wxSTAY_ON_TOP);
|
||||
#ifdef __WXMSW__
|
||||
int width = 24;
|
||||
#else
|
||||
int width = 16;
|
||||
#endif
|
||||
int offX = 5;
|
||||
int currentX = 5;
|
||||
|
||||
// 5 rows
|
||||
toolBar = new TestToolBar(toolBarFrame, -1, wxPoint(10, 10), wxSize(-1, -1), 0, wxVERTICAL, 5);
|
||||
toolBar->SetMargins(2, 2);
|
||||
toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Save file");
|
||||
currentX += width + 5;
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Copy");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Cut");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Paste");
|
||||
currentX += width + 5;
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Print");
|
||||
currentX += width + 5;
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, NULL, "Help");
|
||||
|
||||
for (int i = 10; i < 25; i++)
|
||||
toolBar->AddTool(i, toolBarBitmaps[i], NULL, TRUE);
|
||||
toolBar->Realize();
|
||||
|
||||
toolBar->Layout();
|
||||
float maxWidth, maxHeight;
|
||||
wxSize size(toolBar->GetMaxSize());
|
||||
toolBarFrame->SetClientSize(maxSize.x, maxSize.y);
|
||||
toolBarFrame->Show(TRUE);
|
||||
// Can delete the bitmaps since they're reference counted
|
||||
int i;
|
||||
for (i = 0; i < 8; i++)
|
||||
delete toolBarBitmaps[i];
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// wxID_HELP will be processed for the 'About' menu and the toolbar help button.
|
||||
|
||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
|
||||
EVT_MENU(wxID_HELP, MyFrame::OnAbout)
|
||||
EVT_CLOSE(MyFrame::OnCloseWindow)
|
||||
EVT_TOOL_RANGE(wxID_OPEN, wxID_PASTE, MyFrame::OnToolLeftClick)
|
||||
EVT_TOOL_ENTER(ID_TOOLBAR, MyFrame::OnToolEnter)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Define my frame constructor
|
||||
MyFrame::MyFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wxPoint& pos,
|
||||
const wxSize& size, long style):
|
||||
wxFrame(parent, id, title, pos, size, style)
|
||||
{
|
||||
m_textWindow = new wxTextCtrl(this, -1, "", wxPoint(0, 0), wxSize(-1, -1), wxTE_MULTILINE);
|
||||
}
|
||||
|
||||
void MyFrame::OnQuit(wxCommandEvent& event)
|
||||
{
|
||||
Close(TRUE);
|
||||
}
|
||||
|
||||
void MyFrame::OnAbout(wxCommandEvent& event)
|
||||
{
|
||||
(void)wxMessageBox("wxWindows wxToolBar demo\n", "About wxToolBar");
|
||||
}
|
||||
|
||||
// Define the behaviour for the frame closing
|
||||
// - must delete all frames except for the main one.
|
||||
void MyFrame::OnCloseWindow(wxCloseEvent& event)
|
||||
{
|
||||
Destroy();
|
||||
}
|
||||
|
||||
void MyFrame::OnToolLeftClick(wxCommandEvent& event)
|
||||
{
|
||||
wxString str;
|
||||
str.Printf("Clicked on tool %d", event.GetId());
|
||||
SetStatusText(str);
|
||||
}
|
||||
|
||||
void MyFrame::OnToolEnter(wxCommandEvent& event)
|
||||
{
|
||||
if (event.GetSelection() > -1)
|
||||
{
|
||||
wxString str;
|
||||
str.Printf("This is tool number %d", event.GetSelection());
|
||||
SetStatusText(str);
|
||||
}
|
||||
else
|
||||
SetStatusText("");
|
||||
}
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user