Compare commits
498 Commits
COPY_OBJEC
...
AFTER_NEW_
Author | SHA1 | Date | |
---|---|---|---|
|
01ae0b038b | ||
|
0b9ab0bd82 | ||
|
955b11918b | ||
|
0cb50c83aa | ||
|
c848b2f955 | ||
|
1e3a888e72 | ||
|
5b96a71a56 | ||
|
3f2eabd59d | ||
|
48f72114ba | ||
|
b59da6c285 | ||
|
33754c4d83 | ||
|
5ece068d9f | ||
|
df22f86063 | ||
|
32334453e7 | ||
|
5c8835b94c | ||
|
17154fc8aa | ||
|
e044f6001e | ||
|
501d97d4fe | ||
|
13b1472fdd | ||
|
dfc40ef343 | ||
|
639692727b | ||
|
c26d72f10d | ||
|
3c299c3ab6 | ||
|
4c53d9ece2 | ||
|
8f684821f6 | ||
|
be03c0ec26 | ||
|
a250392c48 | ||
|
3355efa93c | ||
|
00500f403c | ||
|
d21d2e5adf | ||
|
754c44ae38 | ||
|
9d7de3c2b8 | ||
|
c640e407d5 | ||
|
3f562374f1 | ||
|
5fc67e5cf4 | ||
|
7613582bcc | ||
|
33984936de | ||
|
c6f4913a76 | ||
|
db3272a001 | ||
|
c4d596ea01 | ||
|
eb5e4d9ac1 | ||
|
e168b6acfd | ||
|
df16a53ef9 | ||
|
783fab59e5 | ||
|
c4e1b7f244 | ||
|
353f41cb3b | ||
|
c04857dd6a | ||
|
c4bcd8fcdd | ||
|
65d48d095f | ||
|
c1725ec7f3 | ||
|
d3b4d71020 | ||
|
147043343e | ||
|
865c589e50 | ||
|
b916f80933 | ||
|
713a0efc61 | ||
|
9283436576 | ||
|
f9bc168497 | ||
|
d00407b2c6 | ||
|
2e351786c5 | ||
|
b0c4280587 | ||
|
c16d276354 | ||
|
7070f55b2c | ||
|
17d5bdf9e9 | ||
|
4b614012da | ||
|
4ec2df6cbc | ||
|
3f345b477e | ||
|
e7ca6139d0 | ||
|
ffd10d5da7 | ||
|
8ff1234234 | ||
|
abb855613b | ||
|
7332adf035 | ||
|
dccaf28056 | ||
|
9210a48a33 | ||
|
dbdcff5102 | ||
|
f05605ff4d | ||
|
24eb81cbcf | ||
|
2ba4130573 | ||
|
4a0f7f3f17 | ||
|
01ec8f969d | ||
|
e856571123 | ||
|
c5e8ed2391 | ||
|
0a1d59000c | ||
|
9a3ba92945 | ||
|
71f1334b40 | ||
|
f20ad12c58 | ||
|
771a855fb9 | ||
|
cb3b65d4e2 | ||
|
6d7f865fb0 | ||
|
1a2c3cae6d | ||
|
048bd5039e | ||
|
2bcdcf7e2a | ||
|
84a32a7796 | ||
|
22b41d3e01 | ||
|
00360d4699 | ||
|
d1cd84e787 | ||
|
edc8bd8df3 | ||
|
f221f8eb3a | ||
|
2ba9346d84 | ||
|
a6139dacac | ||
|
6b5691cb91 | ||
|
dc7c324430 | ||
|
af7e29cc47 | ||
|
4309b812ef | ||
|
cbb26e3f6d | ||
|
0655d12d67 | ||
|
52ad59c2e9 | ||
|
daa2c7d950 | ||
|
f6eaeda1b0 | ||
|
ba5ac173ea | ||
|
5d0000b5b5 | ||
|
2593f03384 | ||
|
abfc2b1d5a | ||
|
dd5a32cc2d | ||
|
0cbc52f38e | ||
|
0a4f1bbf6d | ||
|
f17fb29767 | ||
|
e04487ebe8 | ||
|
607d9cfc56 | ||
|
59a2e6354d | ||
|
abbacd903e | ||
|
ae0d8c1445 | ||
|
68c7f44cf6 | ||
|
7a25a27c35 | ||
|
92209a3966 | ||
|
63efc55ff7 | ||
|
000307d7a8 | ||
|
b43a988613 | ||
|
af01f1ba0d | ||
|
0627d0917b | ||
|
a92b0cfd2b | ||
|
aac7e7fe7b | ||
|
c6465c961b | ||
|
b1d66b5415 | ||
|
fcf689db0d | ||
|
810aa7fc7f | ||
|
3602a62e83 | ||
|
2796d5dae5 | ||
|
00811ff918 | ||
|
0729bd19f1 | ||
|
f725b2a4ec | ||
|
cb69afe081 | ||
|
d4597e138e | ||
|
8810d43125 | ||
|
99d1b93d89 | ||
|
a40a9c813f | ||
|
53fdeb16a8 | ||
|
25ad2ac2fe | ||
|
51dc95a4c8 | ||
|
08df3e4420 | ||
|
5bc0790f29 | ||
|
4a98c806e5 | ||
|
78b57918f8 | ||
|
ff5f1abaf0 | ||
|
23895080c2 | ||
|
b32a1ead44 | ||
|
a246f95e96 | ||
|
f043bf8d19 | ||
|
ed2e7e59a9 | ||
|
712969258a | ||
|
a20275148b | ||
|
b13f5fbf29 | ||
|
4894ae18fc | ||
|
17386f5322 | ||
|
e76520fdf8 | ||
|
3678697093 | ||
|
c5124240c4 | ||
|
625e74a703 | ||
|
c35c7d01d4 | ||
|
4d97d44e14 | ||
|
659a606421 | ||
|
d9f54bb0c7 | ||
|
84e89e2aac | ||
|
950e7faf4a | ||
|
91bdd96210 | ||
|
75421bf116 | ||
|
3a989c8afe | ||
|
b03e4fcd11 | ||
|
56a38bbe87 | ||
|
ff65119eb2 | ||
|
4d416b5f21 | ||
|
5acc0d5f32 | ||
|
be050baf48 | ||
|
39679a3c2f | ||
|
462f07cac2 | ||
|
df7c5d28a3 | ||
|
4a61305d36 | ||
|
d30f093006 | ||
|
c8499e53d8 | ||
|
8cf3806b82 | ||
|
3363eadf72 | ||
|
0f092804a2 | ||
|
f48fa475c2 | ||
|
d2ce649bec | ||
|
b7f411dd9b | ||
|
7f60145d85 | ||
|
8f3fc6b415 | ||
|
508e0acbd9 | ||
|
c427acc8d5 | ||
|
863210791a | ||
|
c7aaa64f26 | ||
|
6198749900 | ||
|
ac6bdf4056 | ||
|
9c641c057c | ||
|
ea64fd024a | ||
|
ee88cb3417 | ||
|
c768ded54a | ||
|
dd964dccf7 | ||
|
eaf336e02a | ||
|
eddd3a9d37 | ||
|
e8566d3538 | ||
|
ae4d7004d3 | ||
|
e562df9b4b | ||
|
a385b5dfa8 | ||
|
f7d886af3a | ||
|
c942560f94 | ||
|
d90b2df89d | ||
|
dd2b41b6e9 | ||
|
269c86d089 | ||
|
a22eb2f5c3 | ||
|
a20c8355d3 | ||
|
ea1e6c4be4 | ||
|
f736ec7623 | ||
|
81f256328c | ||
|
a8e6bf8ae2 | ||
|
ed8c278040 | ||
|
14b3f932dd | ||
|
2bc6041712 | ||
|
07c99b2608 | ||
|
74bcba0e33 | ||
|
a18b162dc1 | ||
|
78e8819c2e | ||
|
9bbe7068c4 | ||
|
1dc302a8ae | ||
|
bb064193a7 | ||
|
02a3b39120 | ||
|
5ea757d054 | ||
|
0bd63eb6ff | ||
|
3a87625f68 | ||
|
5515f252cb | ||
|
e6b01b78a3 | ||
|
d6044f582c | ||
|
7527fdd873 | ||
|
add33e95c5 | ||
|
8a242615ef | ||
|
b383b2c1fd | ||
|
d8542a1cd1 | ||
|
afcca39be9 | ||
|
1c777e15c9 | ||
|
644deea4d2 | ||
|
58a9336be1 | ||
|
fdda2df62d | ||
|
5f3286d17d | ||
|
af4088f1be | ||
|
f69fcd070b | ||
|
af54096f69 | ||
|
0cdb5f82c6 | ||
|
4ae76072f1 | ||
|
c598f22518 | ||
|
2dc5bacc01 | ||
|
961c54c333 | ||
|
673ad11240 | ||
|
71292fab8d | ||
|
3f2474754a | ||
|
d7997e1ab1 | ||
|
b01fb5c340 | ||
|
42dd647cfd | ||
|
44d568b6a8 | ||
|
d0e9b1506e | ||
|
d71c423e19 | ||
|
ade35f11fe | ||
|
1d21855083 | ||
|
f2d0790b1a | ||
|
f1104df133 | ||
|
681641370c | ||
|
ab3edaceba | ||
|
2edd0e7c66 | ||
|
4f716609c9 | ||
|
485cf710d7 | ||
|
77f859c38e | ||
|
0ba9f867fa | ||
|
13ff9344d6 | ||
|
38058a49c6 | ||
|
4b796bb03c | ||
|
9929591c13 | ||
|
8e38fd1fb0 | ||
|
2b7e44a28c | ||
|
9926e4a4d7 | ||
|
0b01706f2c | ||
|
f38bcae5bf | ||
|
83a2e3c5ad | ||
|
6f91bc3333 | ||
|
52dbd056d2 | ||
|
1918b6f789 | ||
|
39cc7a0bae | ||
|
ff69a290d6 | ||
|
572c7069bb | ||
|
68673975c6 | ||
|
2481a3763b | ||
|
4416b50837 | ||
|
684cbc0edd | ||
|
5f09cfe3de | ||
|
8962e1d938 | ||
|
d323d966dd | ||
|
27752aab2a | ||
|
a874db9279 | ||
|
04c943b139 | ||
|
2569938d39 | ||
|
d8b6f4d9a2 | ||
|
744d5712ce | ||
|
7a0f694a11 | ||
|
611dc22cee | ||
|
643b97f8a7 | ||
|
5a56be287a | ||
|
7104f65dbe | ||
|
232b005197 | ||
|
3e2125031b | ||
|
4161723f46 | ||
|
ddf2da08b5 | ||
|
58fd8ab910 | ||
|
4efb5650d1 | ||
|
3ac59f211b | ||
|
2226ead00d | ||
|
c594325333 | ||
|
b2abc29318 | ||
|
f7db440e1f | ||
|
83c865f518 | ||
|
a3b72ffb8f | ||
|
e8d5008c2e | ||
|
c67d6888d4 | ||
|
a6f762a646 | ||
|
0a3e82894a | ||
|
89ebf1c919 | ||
|
92749d6a37 | ||
|
f6656ccb14 | ||
|
7b7ac0ab51 | ||
|
96d24601af | ||
|
d7d0296285 | ||
|
6f20c54861 | ||
|
fbdb357ea2 | ||
|
37b83ca639 | ||
|
4f41713093 | ||
|
954cc8d2f2 | ||
|
ea91314fdf | ||
|
df336b7f25 | ||
|
5f95bb7096 | ||
|
3f393e3dbd | ||
|
408a83cbe9 | ||
|
1d8c3e58b8 | ||
|
7a9b33dbf8 | ||
|
ebe2507564 | ||
|
dbd3685cc4 | ||
|
c5fe0dcced | ||
|
2f4e928794 | ||
|
220f2d5c4d | ||
|
67d54b58cb | ||
|
fd008b87e3 | ||
|
156b252383 | ||
|
4cd1a81804 | ||
|
086ab76622 | ||
|
13960e3c69 | ||
|
eda40bfc08 | ||
|
33b7a5491f | ||
|
1d5c2a8eb5 | ||
|
528a5fe43f | ||
|
da6069e29c | ||
|
0ae0226b1d | ||
|
bbd08c6a95 | ||
|
9832ce0bcc | ||
|
41b0a1139d | ||
|
1489a2c037 | ||
|
ce28b4d772 | ||
|
31f6de22b0 | ||
|
a7910d97a3 | ||
|
574bf50785 | ||
|
ad80f0d194 | ||
|
b52ea5c510 | ||
|
a8141d3f28 | ||
|
65c12361f3 | ||
|
444e05b609 | ||
|
9f8148b11c | ||
|
0b90b51ceb | ||
|
3f93aa54a9 | ||
|
f0125ede4a | ||
|
5e173f35d2 | ||
|
cba1148d00 | ||
|
c4ea29714d | ||
|
4c53c74335 | ||
|
835074fe0a | ||
|
fbf4eacb26 | ||
|
6e8aa701e9 | ||
|
8beeef5f05 | ||
|
c34174728f | ||
|
4498031c44 | ||
|
6bbff0aac1 | ||
|
6e8a778af3 | ||
|
ebf4302cbe | ||
|
5fa4613c81 | ||
|
281de223c8 | ||
|
3928c4fd66 | ||
|
0dcdeee9e7 | ||
|
faa1ae782d | ||
|
9a9045a9f3 | ||
|
d2d14464a5 | ||
|
5836c9080b | ||
|
e22c13fe7e | ||
|
1816a07003 | ||
|
d63819e045 | ||
|
1d6f23483a | ||
|
443aec6f41 | ||
|
857dab7dcd | ||
|
ac4de06921 | ||
|
a6b27b78d3 | ||
|
05c9ccbe62 | ||
|
ee1e43a725 | ||
|
a509f6bcdd | ||
|
279b1aea9d | ||
|
0e4b997673 | ||
|
debc175a42 | ||
|
69d27ff78b | ||
|
23cf065f01 | ||
|
192644bfcb | ||
|
d96083979d | ||
|
42993df25e | ||
|
94054c1dfa | ||
|
aa83902af1 | ||
|
abfe4a8415 | ||
|
461a37f596 | ||
|
8614041baa | ||
|
afbd36dd57 | ||
|
419f362d6a | ||
|
ea8a96991a | ||
|
92e50d0521 | ||
|
0a67eeac3d | ||
|
097f29c22f | ||
|
846e4632b4 | ||
|
04eb894b5c | ||
|
29f54b9b37 | ||
|
01d981ec6d | ||
|
2b84e565c6 | ||
|
717510eb58 | ||
|
b5d6954b87 | ||
|
6264b550ad | ||
|
30fc2c8ec0 | ||
|
3c62105945 | ||
|
2ec0173d44 | ||
|
043dcdaad0 | ||
|
4ed56ed897 | ||
|
b97a1a73fd | ||
|
67d54ef1dc | ||
|
41286fd1de | ||
|
f1fa9adc7a | ||
|
a826c31586 | ||
|
6a498e2d1b | ||
|
5bdad317aa | ||
|
1dee6b3992 | ||
|
f369dd4fdd | ||
|
ef3a5e0aae | ||
|
acea2a0bac | ||
|
bb6de5ffad | ||
|
11a68fa3af | ||
|
df43c1d682 | ||
|
5aa5c1e4c9 | ||
|
c4a25811cc | ||
|
7a5c8ac45a | ||
|
d90bb48e69 | ||
|
d7a53fcacb | ||
|
a2b4f4a287 | ||
|
d147266834 | ||
|
289b2d6174 | ||
|
7aeb9adcaf | ||
|
e0e50e29c4 | ||
|
beab584049 | ||
|
0f71032121 | ||
|
ffc6ce3f6d | ||
|
244d3b67ca | ||
|
bbb8f29b4a | ||
|
780bb8744b | ||
|
1539c2f54a | ||
|
a60b1f5d57 | ||
|
50d0b061ee | ||
|
9298c435cf | ||
|
f40b54b1e0 | ||
|
42ac146ba4 | ||
|
0fbb762e07 | ||
|
a7ad2611f3 | ||
|
ad9f477da5 | ||
|
5dcf9614cf | ||
|
885d4bf54e | ||
|
affe40440e | ||
|
2c18f21dc7 | ||
|
65eb985502 | ||
|
406e3e0d0d | ||
|
c3c39620ba | ||
|
fa1c12bdd7 | ||
|
d093261668 | ||
|
19924e90e5 | ||
|
acd15a3fa0 | ||
|
dcfb179bc7 |
14
BuildCVS.txt
14
BuildCVS.txt
@@ -125,11 +125,15 @@ Refer to the readme.txt and install.txt files in docs/mac to build
|
||||
wxWindows under Classic Mac OS using CodeWarrior.
|
||||
|
||||
If you are checking out the CVS sources using cvs under Mac OS X and
|
||||
compiling under Classic Mac OS, make sure that all text files have a
|
||||
Mac OS type of 'TEXT' otherwise CodeWarrior may ignore them. Checking
|
||||
out the CVS sources using cvs under Mac OS X creates untyped files
|
||||
which can lead to compialtion errors under CodeWarrior which are hard
|
||||
to track down.
|
||||
compiling under Classic Mac OS:
|
||||
|
||||
- make sure that all text files have a Mac OS type of 'TEXT' otherwise
|
||||
CodeWarrior may ignore them. Checking out the CVS sources using cvs
|
||||
under Mac OS X creates untyped files which can lead to compilation
|
||||
errors under CodeWarrior which are hard to track down.
|
||||
|
||||
- convert the xml files to CodeWarrior binary projects using the supplied
|
||||
AppleScript in docs/mac (M5xml2mcp.applescript for CodeWarrior 5.3)
|
||||
|
||||
V) MacOS X using configure and the Developer Tools
|
||||
----------------------------------------
|
||||
|
75
Makefile.in
75
Makefile.in
@@ -114,6 +114,7 @@ INTLDIR = $(WXDIR)/locale
|
||||
########################## Archive name ###############################
|
||||
|
||||
# append a version suffix x.y.z to all file names
|
||||
VER_MAJMIN=$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER)
|
||||
VER_SUFFIX=$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)$(EXTRA_VER)
|
||||
WXARCHIVE=@DISTDIR@-$(VER_SUFFIX).tar.gz
|
||||
WXGLARCHIVE=@DISTDIR@-gl-$(VER_SUFFIX).tar.gz
|
||||
@@ -394,10 +395,15 @@ CREATE_INSTALLED_LINKS_GL: preinstall_gl
|
||||
afminstall: preinstall
|
||||
@if test ! -d $(datadir); then $(INSTALL) -d $(datadir); fi
|
||||
$(INSTALL) -d $(datadir)/wx
|
||||
$(INSTALL) -d $(datadir)/wx/afm
|
||||
$(INSTALL) -d $(datadir)/wx/gs_afm
|
||||
$(INSTALL_DATA) $(top_srcdir)/misc/afm/*.afm $(datadir)/wx/afm
|
||||
$(INSTALL_DATA) $(top_srcdir)/misc/gs_afm/*.afm $(datadir)/wx/gs_afm
|
||||
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)
|
||||
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)/afm
|
||||
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)/gs_afm
|
||||
$(INSTALL_DATA) $(top_srcdir)/misc/afm/*.afm $(datadir)/wx/$(VER_MAJMIN)/afm
|
||||
$(INSTALL_DATA) $(top_srcdir)/misc/gs_afm/*.afm $(datadir)/wx/$(VER_MAJMIN)/gs_afm
|
||||
|
||||
m4datainstall: preinstall
|
||||
$(INSTALL) -d $(datadir)/aclocal
|
||||
$(INSTALL_DATA) $(top_srcdir)/wxwin.m4 $(datadir)/aclocal
|
||||
|
||||
# this is the real install target: copies the library, wx-config and the
|
||||
# headers to the installation directory
|
||||
@@ -412,7 +418,7 @@ preinstall: $(build_libdir)/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAM
|
||||
|
||||
$(INSTALL_SCRIPT) $(top_builddir)/wx@TOOLCHAIN_NAME@-config $(bindir)/wx@TOOLCHAIN_NAME@-config
|
||||
cd $(bindir) && rm -f wx-config && $(LN_S) wx@TOOLCHAIN_NAME@-config wx-config
|
||||
$(INSTALL_PROGRAM) $(build_libdir)/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@
|
||||
@INSTALL_LIBRARY@ $(build_libdir)/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@
|
||||
@if test "x@WX_LIBRARY_IMPORTLIB@" != "x"; then \
|
||||
$(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_LIBRARY_IMPORTLIB@ $(libdir)/@WX_LIBRARY_IMPORTLIB@; fi
|
||||
|
||||
@@ -430,6 +436,9 @@ preinstall: $(build_libdir)/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAM
|
||||
@if test "$(USE_GUI)" = 1; then $(INSTALL) -d $(includedir)/wx/generic; fi
|
||||
@if test "@TOOLKIT_DIR@" = "msw"; then $(INSTALL) -d $(includedir)/wx/msw/ole; fi
|
||||
|
||||
@# always install msw headers for wxBase, it's much simpler
|
||||
@if test "$(USE_GUI)" = 0; then $(INSTALL) -d $(includedir)/wx/msw; fi
|
||||
|
||||
$(INSTALL) -d $(includedir)/wx/protocol
|
||||
$(INSTALL) -d $(includedir)/wx/unix
|
||||
@list='$(HEADERS)'; for p in $$list; do \
|
||||
@@ -457,9 +466,9 @@ preinstall_gl: $(build_libdir)/@WX_TARGET_LIBRARY_GL@
|
||||
@echo " Installing wxWindows OpenGl add-on..."
|
||||
@echo " "
|
||||
@if test ! -d $(libdir); then $(INSTALL) -d $(libdir); fi
|
||||
$(INSTALL_PROGRAM) $(build_libdir)/@WX_TARGET_LIBRARY_GL@ $(libdir)/@WX_TARGET_LIBRARY_GL@
|
||||
@INSTALL_LIBRARY@ $(build_libdir)/@WX_TARGET_LIBRARY_GL@ $(libdir)/@WX_TARGET_LIBRARY_GL@
|
||||
|
||||
install: @AFMINSTALL@ @WX_ALL_INSTALLED@
|
||||
install: @AFMINSTALL@ @WX_ALL_INSTALLED@ m4datainstall
|
||||
@echo " "
|
||||
@echo " The installation of wxWindows is finished. On certain"
|
||||
@echo " platforms (e.g. Linux) you'll now have to run ldconfig"
|
||||
@@ -524,9 +533,8 @@ uninstall:
|
||||
ALL_DIST: distclean
|
||||
mkdir _dist_dir
|
||||
mkdir $(DISTDIR)
|
||||
cp $(WXDIR)/wxwin.m4 $(DISTDIR)
|
||||
cp $(WXDIR)/aclocal.m4 $(DISTDIR)
|
||||
cp $(WXDIR)/configure.in $(DISTDIR)
|
||||
cp $(WXDIR)/configure $(DISTDIR)
|
||||
cp $(WXDIR)/config.sub $(DISTDIR)
|
||||
cp $(WXDIR)/config.guess $(DISTDIR)
|
||||
cp $(WXDIR)/install-sh $(DISTDIR)
|
||||
@@ -536,11 +544,11 @@ ALL_DIST: distclean
|
||||
cp $(WXDIR)/setup.h_vms $(DISTDIR)
|
||||
cp $(WXDIR)/descrip.mms $(DISTDIR)
|
||||
cp $(WXDIR)/Makefile.in $(DISTDIR)
|
||||
cp $(WXDIR)/wxBase.spec $(DISTDIR)
|
||||
cp $(DOCDIR)/lgpl.txt $(DISTDIR)/COPYING.LIB
|
||||
cp $(DOCDIR)/licence.txt $(DISTDIR)/LICENCE.txt
|
||||
cp $(DOCDIR)/symbols.txt $(DISTDIR)/SYMBOLS.txt
|
||||
cp $(DOCDIR)/changes.txt $(DISTDIR)/CHANGES.txt
|
||||
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
|
||||
mkdir $(DISTDIR)/lib
|
||||
cp $(WXDIR)/lib/vms.opt $(DISTDIR)/lib
|
||||
cp $(WXDIR)/lib/vms_gtk.opt $(DISTDIR)/lib
|
||||
@@ -549,7 +557,6 @@ ALL_DIST: distclean
|
||||
mkdir $(DISTDIR)/src/zlib
|
||||
cp $(ZLIBDIR)/*.h $(DISTDIR)/src/zlib
|
||||
cp $(ZLIBDIR)/*.c $(DISTDIR)/src/zlib
|
||||
cp $(ZLIBDIR)/*.mcp $(DISTDIR)/src/zlib
|
||||
cp $(ZLIBDIR)/README $(DISTDIR)/src/zlib
|
||||
cp $(ZLIBDIR)/*.mms $(DISTDIR)/src/zlib
|
||||
mkdir $(DISTDIR)/src/regex
|
||||
@@ -566,7 +573,9 @@ ALL_DIST: distclean
|
||||
# this target is the common part of distribution script for all GUI toolkits,
|
||||
# but is not used when building wxBase distribution
|
||||
ALL_GUI_DIST: ALL_DIST
|
||||
cp $(WXDIR)/wxBase.spec $(DISTDIR)
|
||||
cp $(WXDIR)/configure.in $(DISTDIR)
|
||||
cp $(WXDIR)/configure $(DISTDIR)
|
||||
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
|
||||
cp $(DOCDIR)/$(TOOLKITDIR)/install.txt $(DISTDIR)/INSTALL.txt
|
||||
if test -f $(DOCDIR)/$(TOOLKITDIR)/changes.txt ; then \
|
||||
cp $(DOCDIR)/$(TOOLKITDIR)/changes.txt $(DISTDIR)/CHANGES-$(TOOLKIT).txt ; fi
|
||||
@@ -614,15 +623,12 @@ ALL_GUI_DIST: ALL_DIST
|
||||
cp $(HTMLDIR)/bitmaps/*.xpm $(DISTDIR)/src/html/bitmaps
|
||||
cp $(PNGDIR)/*.h $(DISTDIR)/src/png
|
||||
cp $(PNGDIR)/*.c $(DISTDIR)/src/png
|
||||
cp $(PNGDIR)/*.mcp $(DISTDIR)/src/png
|
||||
cp $(PNGDIR)/README $(DISTDIR)/src/png
|
||||
cp $(JPEGDIR)/*.h $(DISTDIR)/src/jpeg
|
||||
cp $(JPEGDIR)/*.c $(DISTDIR)/src/jpeg
|
||||
cp $(JPEGDIR)/*.mcp $(DISTDIR)/src/jpeg
|
||||
cp $(JPEGDIR)/README $(DISTDIR)/src/jpeg
|
||||
cp $(TIFFDIR)/*.h $(DISTDIR)/src/tiff
|
||||
cp $(TIFFDIR)/*.c $(DISTDIR)/src/tiff
|
||||
cp $(TIFFDIR)/*.mcp $(DISTDIR)/src/tiff
|
||||
cp $(TIFFDIR)/README $(DISTDIR)/src/tiff
|
||||
cp $(ODBCDIR)/*.h $(DISTDIR)/src/iodbc
|
||||
cp $(ODBCDIR)/*.c $(DISTDIR)/src/iodbc
|
||||
@@ -633,19 +639,25 @@ ALL_GUI_DIST: ALL_DIST
|
||||
cp $(ODBCDIR)/Changes.log $(DISTDIR)/src/iodbc
|
||||
|
||||
BASE_DIST: ALL_DIST
|
||||
# make --disable-gui the default
|
||||
sed 's/DEFAULT_wxUSE_GUI=yes/DEFAULT_wxUSE_GUI=no/' \
|
||||
$(WXDIR)/configure.in > $(DISTDIR)/configure.in
|
||||
sed 's/DEFAULT_wxUSE_GUI=yes/DEFAULT_wxUSE_GUI=no/' \
|
||||
$(WXDIR)/configure > $(DISTDIR)/configure
|
||||
chmod +x $(DISTDIR)/configure
|
||||
mkdir $(DISTDIR)/include
|
||||
mkdir $(DISTDIR)/include/wx
|
||||
mkdir $(DISTDIR)/include/wx/protocol
|
||||
mkdir $(DISTDIR)/include/wx/unix
|
||||
mkdir $(DISTDIR)/include/wx/msw
|
||||
mkdir $(DISTDIR)/src/common
|
||||
mkdir $(DISTDIR)/src/unix
|
||||
mkdir $(DISTDIR)/src/msw
|
||||
cp $(WXDIR)/wxBase.spec $(DISTDIR)
|
||||
cp @PORT_FILES@ $(DISTDIR)
|
||||
cp $(WXDIR)/src/wxBase*.dsp $(DISTDIR)
|
||||
cp $(WXDIR)/src/wxBase*.dsw $(DISTDIR)
|
||||
cp $(DOCDIR)/changes.txt $(DISTDIR)/CHANGES.txt
|
||||
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
|
||||
cp $(DOCDIR)/install.txt $(DISTDIR)/README.txt
|
||||
cp $(SRCDIR)/*.in $(DISTDIR)/src
|
||||
cp $(WXDIR)/src/common/*.inc $(DISTDIR)/src/common
|
||||
cp $(WXDIR)/src/common/base.rc $(DISTDIR)/src/common
|
||||
@@ -666,6 +678,7 @@ BASE_DIST: ALL_DIST
|
||||
cp $(SAMPDIR)/console/Makefile.in $(DISTDIR)/samples/console
|
||||
cp $(SAMPDIR)/console/makefile.unx $(DISTDIR)/samples/console
|
||||
cp $(SAMPDIR)/console/console.cpp $(DISTDIR)/samples/console
|
||||
cp $(SAMPDIR)/console/console.dsp $(DISTDIR)/samples/console
|
||||
cp $(SAMPDIR)/console/testdata.fc $(DISTDIR)/samples/console
|
||||
|
||||
GTK_DIST: ALL_GUI_DIST
|
||||
@@ -695,7 +708,6 @@ MOTIF_DIST: ALL_GUI_DIST
|
||||
MACX_DIST: ALL_GUI_DIST
|
||||
cp $(INCDIR)/*.* $(DISTDIR)/include
|
||||
cp $(INCDIR)/wx/mac/*.h $(DISTDIR)/include/wx/mac
|
||||
cp $(SRCDIR)/*.mcp $(DISTDIR)/src
|
||||
cp $(MACDIR)/files.lst $(DISTDIR)/src/mac
|
||||
cp $(MACDIR)/*.cpp $(DISTDIR)/src/mac
|
||||
cp $(MACDIR)/*.c $(DISTDIR)/src/mac
|
||||
@@ -704,14 +716,6 @@ MACX_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/src/mac/morefile
|
||||
cp $(MACDIR)/morefile/*.h $(DISTDIR)/src/mac/morefile
|
||||
cp $(MACDIR)/morefile/*.c $(DISTDIR)/src/mac/morefile
|
||||
mkdir $(DISTDIR)/src/mac/cdef
|
||||
cp $(MACDIR)/cdef/*.h $(DISTDIR)/src/mac/cdef
|
||||
cp $(MACDIR)/cdef/*.c $(DISTDIR)/src/mac/cdef
|
||||
cp $(MACDIR)/cdef/*.mcp $(DISTDIR)/src/mac/cdef
|
||||
mkdir $(DISTDIR)/src/mac/ldef
|
||||
cp $(MACDIR)/ldef/*.h $(DISTDIR)/src/mac/ldef
|
||||
cp $(MACDIR)/ldef/*.c $(DISTDIR)/src/mac/ldef
|
||||
cp $(MACDIR)/ldef/*.mcp $(DISTDIR)/src/mac/cdef
|
||||
mkdir $(DISTDIR)/src/mac/macsock
|
||||
cp $(MACDIR)/macsock/*.lib $(DISTDIR)/src/mac/macsock
|
||||
|
||||
@@ -754,8 +758,6 @@ DEMOS_DIST: ALL_GUI_DIST
|
||||
cp $(DEMODIR)/configure $(DISTDIR)/demos
|
||||
cp $(DEMODIR)/configure.in $(DISTDIR)/demos
|
||||
|
||||
cp -R $(DEMODIR)/dbbrowse $(DISTDIR)/demos/dbbrowse
|
||||
|
||||
mkdir $(DISTDIR)/demos/bombs
|
||||
cp $(DEMODIR)/bombs/Makefile.in $(DISTDIR)/demos/bombs
|
||||
cp $(DEMODIR)/bombs/makefile.unx $(DISTDIR)/demos/bombs
|
||||
@@ -764,6 +766,8 @@ DEMOS_DIST: ALL_GUI_DIST
|
||||
cp $(DEMODIR)/bombs/*.xpm $(DISTDIR)/demos/bombs
|
||||
cp $(DEMODIR)/bombs/readme.txt $(DISTDIR)/demos/bombs
|
||||
|
||||
cp -R $(DEMODIR)/dbbrowse $(DISTDIR)/demos/dbbrowse
|
||||
|
||||
mkdir $(DISTDIR)/demos/forty
|
||||
cp $(DEMODIR)/forty/Makefile.in $(DISTDIR)/demos/forty
|
||||
cp $(DEMODIR)/forty/makefile.unx $(DISTDIR)/demos/forty
|
||||
@@ -806,7 +810,6 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/samples/calendar
|
||||
cp $(SAMPDIR)/calendar/Makefile.in $(DISTDIR)/samples/calendar
|
||||
cp $(SAMPDIR)/calendar/makefile.unx $(DISTDIR)/samples/calendar
|
||||
cp $(SAMPDIR)/calendar/*.mcp $(DISTDIR)/samples/calendar
|
||||
cp $(SAMPDIR)/calendar/*.cpp $(DISTDIR)/samples/calendar
|
||||
|
||||
mkdir $(DISTDIR)/samples/caret
|
||||
@@ -818,7 +821,6 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/samples/checklst
|
||||
cp $(SAMPDIR)/checklst/Makefile.in $(DISTDIR)/samples/checklst
|
||||
cp $(SAMPDIR)/checklst/makefile.unx $(DISTDIR)/samples/checklst
|
||||
cp $(SAMPDIR)/checklst/*.mcp $(DISTDIR)/samples/checklst
|
||||
cp $(SAMPDIR)/checklst/*.cpp $(DISTDIR)/samples/checklst
|
||||
cp $(SAMPDIR)/checklst/*.xpm $(DISTDIR)/samples/checklst
|
||||
cp $(SAMPDIR)/checklst/*.mms $(DISTDIR)/samples/checklst
|
||||
@@ -826,7 +828,6 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/samples/config
|
||||
cp $(SAMPDIR)/config/Makefile.in $(DISTDIR)/samples/config
|
||||
cp $(SAMPDIR)/config/makefile.unx $(DISTDIR)/samples/config
|
||||
cp $(SAMPDIR)/config/*.mcp $(DISTDIR)/samples/config
|
||||
cp $(SAMPDIR)/config/*.cpp $(DISTDIR)/samples/config
|
||||
|
||||
mkdir $(DISTDIR)/samples/console
|
||||
@@ -838,7 +839,6 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/samples/controls/icons
|
||||
cp $(SAMPDIR)/controls/Makefile.in $(DISTDIR)/samples/controls
|
||||
cp $(SAMPDIR)/controls/makefile.unx $(DISTDIR)/samples/controls
|
||||
cp $(SAMPDIR)/controls/*.mcp $(DISTDIR)/samples/controls
|
||||
cp $(SAMPDIR)/controls/*.cpp $(DISTDIR)/samples/controls
|
||||
cp $(SAMPDIR)/controls/*.xpm $(DISTDIR)/samples/controls
|
||||
cp $(SAMPDIR)/controls/*.mms $(DISTDIR)/samples/controls
|
||||
@@ -854,7 +854,6 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/samples/dialogs
|
||||
cp $(SAMPDIR)/dialogs/Makefile.in $(DISTDIR)/samples/dialogs
|
||||
cp $(SAMPDIR)/dialogs/makefile.unx $(DISTDIR)/samples/dialogs
|
||||
cp $(SAMPDIR)/dialogs/*.mcp $(DISTDIR)/samples/dialogs
|
||||
cp $(SAMPDIR)/dialogs/*.cpp $(DISTDIR)/samples/dialogs
|
||||
cp $(SAMPDIR)/dialogs/*.h $(DISTDIR)/samples/dialogs
|
||||
cp $(SAMPDIR)/dialogs/*.txt $(DISTDIR)/samples/dialogs
|
||||
@@ -1312,6 +1311,8 @@ MANUAL_DIST:
|
||||
PYTHON_DIST:
|
||||
mkdir $(DISTDIR)/wxPython
|
||||
mkdir $(DISTDIR)/wxPython/contrib
|
||||
mkdir $(DISTDIR)/wxPython/contrib/dllwidget
|
||||
mkdir $(DISTDIR)/wxPython/contrib/gizmos
|
||||
mkdir $(DISTDIR)/wxPython/contrib/glcanvas
|
||||
mkdir $(DISTDIR)/wxPython/contrib/glcanvas/gtk
|
||||
mkdir $(DISTDIR)/wxPython/contrib/ogl
|
||||
@@ -1325,6 +1326,7 @@ PYTHON_DIST:
|
||||
mkdir $(DISTDIR)/wxPython/src/gtk
|
||||
mkdir $(DISTDIR)/wxPython/wxPython
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib/PyCrust
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib/editor
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib/mixins
|
||||
|
||||
@@ -1332,6 +1334,8 @@ PYTHON_DIST:
|
||||
cp $(WXDIR)/wxPython/*.py $(DISTDIR)/wxPython
|
||||
cp $(WXDIR)/wxPython/setup.cfg $(DISTDIR)/wxPython
|
||||
cp $(WXDIR)/wxPython/MANIFEST.in $(DISTDIR)/wxPython
|
||||
cp $(WXDIR)/wxPython/contrib/dllwidget/*.{py,cpp,h,i} $(DISTDIR)/wxPython/contrib/dllwidget
|
||||
cp $(WXDIR)/wxPython/contrib/gizmos/*.{py,cpp,i} $(DISTDIR)/wxPython/contrib/gizmos
|
||||
-cp $(WXDIR)/wxPython/contrib/glcanvas/* $(DISTDIR)/wxPython/contrib/glcanvas
|
||||
cp $(WXDIR)/wxPython/contrib/glcanvas/gtk/glcanvas.* $(DISTDIR)/wxPython/contrib/glcanvas/gtk
|
||||
-cp $(WXDIR)/wxPython/contrib/ogl/* $(DISTDIR)/wxPython/contrib/ogl
|
||||
@@ -1345,6 +1349,7 @@ PYTHON_DIST:
|
||||
cp $(WXDIR)/wxPython/src/gtk/*.py $(DISTDIR)/wxPython/src/gtk
|
||||
cp $(WXDIR)/wxPython/src/gtk/*.cpp $(DISTDIR)/wxPython/src/gtk
|
||||
cp $(WXDIR)/wxPython/wxPython/lib/*.py $(DISTDIR)/wxPython/wxPython/lib
|
||||
cp $(WXDIR)/wxPython/wxPython/lib/PyCrust/*.py $(DISTDIR)/wxPython/wxPython/lib/PyCrust
|
||||
cp $(WXDIR)/wxPython/wxPython/lib/editor/*.py $(DISTDIR)/wxPython/wxPython/lib/editor
|
||||
cp $(WXDIR)/wxPython/wxPython/lib/mixins/*.py $(DISTDIR)/wxPython/wxPython/lib/mixins
|
||||
|
||||
@@ -1452,7 +1457,7 @@ cleanall: clean
|
||||
|
||||
RPMTOP=_dist_dir/_rpm_top
|
||||
|
||||
rpm: dist
|
||||
rpm: bzip-dist
|
||||
@echo "*** Building RPMs ***"
|
||||
-mkdir $(RPMTOP)
|
||||
-mkdir $(RPMTOP)/SOURCES
|
||||
@@ -1460,7 +1465,7 @@ rpm: dist
|
||||
-mkdir $(RPMTOP)/BUILD
|
||||
-mkdir $(RPMTOP)/RPMS
|
||||
-mkdir $(RPMTOP)/SRPMS
|
||||
cp -f $(WXARCHIVE) $(RPMTOP)/SOURCES
|
||||
cp -f $(WXARCHIVE_BZIP) $(RPMTOP)/SOURCES
|
||||
rpm -ba --define "_topdir `pwd`/$(RPMTOP)" $(WXDIR)/wx$(TOOLKIT).spec
|
||||
mv -f `find $(RPMTOP) -name "wx$(TARGET)*.rpm"` .
|
||||
|
||||
|
176
aclocal.m4
vendored
176
aclocal.m4
vendored
@@ -10,14 +10,29 @@ dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
# Configure paths for GTK+
|
||||
# Owen Taylor 97-11-3
|
||||
|
||||
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS. Uses variables
|
||||
dnl gtk_config_prefix and/or gtk_config_exec_prefix if defined.
|
||||
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
|
||||
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
|
||||
dnl
|
||||
AC_DEFUN(AM_PATH_GTK,
|
||||
[
|
||||
[dnl
|
||||
dnl Get the cflags and libraries from the gtk-config script
|
||||
dnl
|
||||
AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
|
||||
gtk_config_prefix="$withval", gtk_config_prefix="")
|
||||
AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
|
||||
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
|
||||
AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
|
||||
, enable_gtktest=yes)
|
||||
|
||||
for module in . $4
|
||||
do
|
||||
case "$module" in
|
||||
gthread)
|
||||
gtk_config_args="$gtk_config_args gthread"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test x$gtk_config_exec_prefix != x ; then
|
||||
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
|
||||
if test x${GTK_CONFIG+set} != xset ; then
|
||||
@@ -35,20 +50,29 @@ AC_DEFUN(AM_PATH_GTK,
|
||||
min_gtk_version=ifelse([$1], ,0.99.7,$1)
|
||||
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
|
||||
no_gtk=""
|
||||
if test "$GTK_CONFIG" != "no" ; then
|
||||
GTK_CFLAGS=`$GTK_CONFIG --cflags`
|
||||
GTK_LIBS=`$GTK_CONFIG --libs gthread`
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$LIBS $GTK_LIBS"
|
||||
if test "$GTK_CONFIG" = "no" ; then
|
||||
no_gtk=yes
|
||||
else
|
||||
GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
|
||||
GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
|
||||
gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test "x$enable_gtktest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$GTK_LIBS $LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed GTK is sufficiently new. (Also sanity
|
||||
dnl checks the results of gtk-config to some extent)
|
||||
dnl checks the results of gtk-config to some extent
|
||||
dnl
|
||||
AC_TRY_RUN([
|
||||
rm -f conf.gtktest
|
||||
AC_TRY_RUN([
|
||||
#include <gtk/gtk.h>
|
||||
#include <gtk/gtkfeatures.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -56,42 +80,126 @@ int
|
||||
main ()
|
||||
{
|
||||
int major, minor, micro;
|
||||
char *tmp_version;
|
||||
|
||||
if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
system ("touch conf.gtktest");
|
||||
|
||||
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
||||
tmp_version = g_strdup("$min_gtk_version");
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
printf("%s, bad version string\n", "$min_gtk_version");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if ((GTK_MAJOR_VERSION != gtk_major_version) ||
|
||||
(GTK_MINOR_VERSION != gtk_minor_version) ||
|
||||
(GTK_MICRO_VERSION != gtk_micro_version)) {
|
||||
printf("Headers vs. library version mismatch!\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (gtk_minor_version == 1) return FALSE;
|
||||
|
||||
return !((gtk_major_version > major) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
|
||||
if ((gtk_major_version != $gtk_config_major_version) ||
|
||||
(gtk_minor_version != $gtk_config_minor_version) ||
|
||||
(gtk_micro_version != $gtk_config_micro_version))
|
||||
{
|
||||
printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
|
||||
$gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
|
||||
gtk_major_version, gtk_minor_version, gtk_micro_version);
|
||||
printf ("*** was found! If gtk-config was correct, then it is best\n");
|
||||
printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
|
||||
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
|
||||
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
|
||||
printf("*** required on your system.\n");
|
||||
printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
|
||||
printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
|
||||
printf("*** before re-running configure\n");
|
||||
}
|
||||
#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
|
||||
else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
|
||||
(gtk_minor_version != GTK_MINOR_VERSION) ||
|
||||
(gtk_micro_version != GTK_MICRO_VERSION))
|
||||
{
|
||||
printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
|
||||
GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
|
||||
printf("*** library (version %d.%d.%d)\n",
|
||||
gtk_major_version, gtk_minor_version, gtk_micro_version);
|
||||
}
|
||||
#endif /* defined (GTK_MAJOR_VERSION) ... */
|
||||
else
|
||||
{
|
||||
if ((gtk_major_version > major) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
|
||||
gtk_major_version, gtk_minor_version, gtk_micro_version);
|
||||
printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
|
||||
major, minor, micro);
|
||||
printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
|
||||
printf("***\n");
|
||||
printf("*** If you have already installed a sufficiently new version, this error\n");
|
||||
printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
|
||||
printf("*** being found. The easiest way to fix this is to remove the old version\n");
|
||||
printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
|
||||
printf("*** correct copy of gtk-config. (In this case, you will have to\n");
|
||||
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
|
||||
printf("*** so that the correct libraries are found at run-time))\n");
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
else
|
||||
no_gtk=yes
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
if test "x$no_gtk" = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$GTK_CONFIG" = "no" ; then
|
||||
echo "*** The gtk-config script installed by GTK could not be found"
|
||||
echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the GTK_CONFIG environment variable to the"
|
||||
echo "*** full path to gtk-config."
|
||||
else
|
||||
if test -f conf.gtktest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run GTK test program, checking why..."
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$LIBS $GTK_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding GTK or finding the wrong"
|
||||
echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
|
||||
echo "***"
|
||||
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
|
||||
echo "*** came with the system with the command"
|
||||
echo "***"
|
||||
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means GTK was incorrectly installed"
|
||||
echo "*** or that you have moved GTK since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
GTK_CFLAGS=""
|
||||
GTK_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(GTK_CFLAGS)
|
||||
AC_SUBST(GTK_LIBS)
|
||||
rm -f conf.gtktest
|
||||
])
|
||||
|
||||
dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
|
||||
|
233
configure.in
233
configure.in
@@ -384,6 +384,7 @@ dnl ------------------------------------------------------------------------
|
||||
dnl assume Unix
|
||||
USE_UNIX=1
|
||||
USE_WIN32=0
|
||||
USE_DOS=0
|
||||
USE_BEOS=0
|
||||
USE_MAC=0
|
||||
|
||||
@@ -397,7 +398,6 @@ USE_SUN=
|
||||
USE_SOLARIS=
|
||||
USE_SUNOS=
|
||||
USE_ALPHA=
|
||||
USE_IA64=
|
||||
USE_OSF=
|
||||
USE_BSD=
|
||||
USE_DARWIN=
|
||||
@@ -413,6 +413,9 @@ dnl _REENTRANT" and it's easier to just define this symbol for these platforms
|
||||
dnl than checking it during run-time
|
||||
NEEDS_D_REENTRANT_FOR_R_FUNCS=0
|
||||
|
||||
dnl the additional define needed for MT programs
|
||||
CPP_MT_FLAG=-D_REENTRANT
|
||||
|
||||
dnl the list of all available toolkits
|
||||
dnl
|
||||
dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
|
||||
@@ -462,10 +465,6 @@ case "${host}" in
|
||||
USE_ALPHA=1
|
||||
AC_DEFINE(__ALPHA__)
|
||||
fi
|
||||
if test "x$TMP" = "xia64"; then
|
||||
USE_IA64=1
|
||||
AC_DEFINE(__IA64__)
|
||||
fi
|
||||
DEFAULT_DEFAULT_wxUSE_GTK=1
|
||||
;;
|
||||
*-*-irix5* | *-*-irix6* )
|
||||
@@ -497,6 +496,7 @@ case "${host}" in
|
||||
*-*-freebsd*)
|
||||
USE_BSD=1
|
||||
USE_FREEBSD=1
|
||||
CPP_MT_FLAG=-D_THREAD_SAFE
|
||||
AC_DEFINE(__FREEBSD__)
|
||||
AC_DEFINE(__BSD__)
|
||||
DEFAULT_DEFAULT_wxUSE_GTK=1
|
||||
@@ -562,6 +562,15 @@ case "${host}" in
|
||||
DEFAULT_DEFAULT_wxUSE_MSW=1
|
||||
;;
|
||||
|
||||
*-pc-msdosdjgpp )
|
||||
USE_UNIX=0
|
||||
USE_DOS=1
|
||||
AC_DEFINE(__DOS__)
|
||||
PROGRAM_EXT=".exe"
|
||||
DEFAULT_DEFAULT_wxUSE_MGL=1
|
||||
DEFAULT_DEFAULT_wxUSE_SHARED=0
|
||||
;;
|
||||
|
||||
*-pc-os2_emx | *-pc-os2-emx )
|
||||
AC_DEFINE(__EMX__)
|
||||
PROGRAM_EXT=".exe"
|
||||
@@ -572,6 +581,7 @@ case "${host}" in
|
||||
dnl PowerPC Darwin based distributions (including Mac OS X)
|
||||
USE_BSD=1
|
||||
USE_DARWIN=1
|
||||
CPP_MT_FLAG=
|
||||
SO_SUFFIX=dylib
|
||||
AC_DEFINE(__BSD__)
|
||||
AC_DEFINE(__DARWIN__)
|
||||
@@ -656,6 +666,7 @@ if test $DEBUG_CONFIGURE = 1; then
|
||||
DEFAULT_wxUSE_LOG=yes
|
||||
DEFAULT_wxUSE_LOGWINDOW=no
|
||||
DEFAULT_wxUSE_LOGGUI=no
|
||||
DEFAULT_wxUSE_LOGDIALOG=no
|
||||
|
||||
DEFAULT_wxUSE_GUI=yes
|
||||
DEFAULT_wxUSE_CONTROLS=no
|
||||
@@ -688,9 +699,9 @@ if test $DEBUG_CONFIGURE = 1; then
|
||||
DEFAULT_wxUSE_STREAMS=no
|
||||
DEFAULT_wxUSE_SOCKETS=no
|
||||
DEFAULT_wxUSE_DIALUP_MANAGER=no
|
||||
DEFAULT_wxUSE_SERIAL=no
|
||||
DEFAULT_wxUSE_JOYSTICK=no
|
||||
DEFAULT_wxUSE_DYNLIB_CLASS=no
|
||||
DEFAULT_wxUSE_DYNAMIC_LOADER=no
|
||||
DEFAULT_wxUSE_LONGLONG=no
|
||||
DEFAULT_wxUSE_GEOMETRY=no
|
||||
|
||||
@@ -784,6 +795,7 @@ if test $DEBUG_CONFIGURE = 1; then
|
||||
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
|
||||
DEFAULT_wxUSE_TREECTRL=no
|
||||
DEFAULT_wxUSE_POPUPWIN=no
|
||||
DEFAULT_wxUSE_TIPWINDOW=no
|
||||
|
||||
DEFAULT_wxUSE_UNICODE=no
|
||||
DEFAULT_wxUSE_WCSRTOMBS=no
|
||||
@@ -819,6 +831,7 @@ else
|
||||
DEFAULT_wxUSE_LOG=yes
|
||||
DEFAULT_wxUSE_LOGWINDOW=yes
|
||||
DEFAULT_wxUSE_LOGGUI=yes
|
||||
DEFAULT_wxUSE_LOGDIALOG=yes
|
||||
|
||||
DEFAULT_wxUSE_GUI=yes
|
||||
|
||||
@@ -850,9 +863,9 @@ else
|
||||
DEFAULT_wxUSE_STREAMS=yes
|
||||
DEFAULT_wxUSE_SOCKETS=yes
|
||||
DEFAULT_wxUSE_DIALUP_MANAGER=yes
|
||||
DEFAULT_wxUSE_SERIAL=yes
|
||||
DEFAULT_wxUSE_JOYSTICK=yes
|
||||
DEFAULT_wxUSE_DYNLIB_CLASS=yes
|
||||
DEFAULT_wxUSE_DYNLIB_CLASS=no
|
||||
DEFAULT_wxUSE_DYNAMIC_LOADER=yes
|
||||
DEFAULT_wxUSE_LONGLONG=yes
|
||||
DEFAULT_wxUSE_GEOMETRY=yes
|
||||
|
||||
@@ -946,6 +959,7 @@ else
|
||||
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
|
||||
DEFAULT_wxUSE_TREECTRL=yes
|
||||
DEFAULT_wxUSE_POPUPWIN=yes
|
||||
DEFAULT_wxUSE_TIPWINDOW=yes
|
||||
|
||||
DEFAULT_wxUSE_UNICODE=no
|
||||
DEFAULT_wxUSE_WCSRTOMBS=no
|
||||
@@ -1009,7 +1023,7 @@ WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxU
|
||||
fi
|
||||
dnl for GUI only
|
||||
|
||||
WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
|
||||
WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
|
||||
WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX)
|
||||
WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
|
||||
WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
|
||||
@@ -1069,6 +1083,7 @@ WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUS
|
||||
WX_ARG_ENABLE(wave, [ --enable-wave use wxWave class], wxUSE_WAVE)
|
||||
WX_ARG_ENABLE(fraction, [ --enable-fraction use wxFraction class], wxUSE_FRACTION)
|
||||
WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
|
||||
WX_ARG_ENABLE(dynamicloader, [ --enable-dynamicloader use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
|
||||
WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG)
|
||||
WX_ARG_ENABLE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY)
|
||||
WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG)
|
||||
@@ -1089,7 +1104,7 @@ WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], w
|
||||
WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION)
|
||||
WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
|
||||
|
||||
WX_ARG_ENABLE(mimetype, [ --enable-mimetypes use wxMimeTypesManager], wxUSE_MIMETYPE)
|
||||
WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE)
|
||||
WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
@@ -1097,7 +1112,6 @@ dnl "big" options (i.e. those which change a lot of things throughout the librar
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
WX_ARG_ENABLE(threads, [ --enable-threads use threads], wxUSE_THREADS)
|
||||
WX_ARG_ENABLE(serial, [ --enable-serial use class serialization], wxUSE_SERIAL)
|
||||
|
||||
if test "$wxUSE_GUI" = "yes"; then
|
||||
|
||||
@@ -1115,6 +1129,7 @@ WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture]
|
||||
WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
|
||||
WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI)
|
||||
WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW)
|
||||
WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG)
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl PostScript options
|
||||
@@ -1191,6 +1206,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
|
||||
DEFAULT_wxUSE_TOOLTIPS=yes
|
||||
DEFAULT_wxUSE_TREECTRL=yes
|
||||
DEFAULT_wxUSE_POPUPWIN=yes
|
||||
DEFAULT_wxUSE_TIPWINDOW=yes
|
||||
elif test "$wxUSE_CONTROLS" = "no"; then
|
||||
DEFAULT_wxUSE_ACCEL=no
|
||||
DEFAULT_wxUSE_BMPBUTTON=no
|
||||
@@ -1229,6 +1245,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
|
||||
DEFAULT_wxUSE_TOOLTIPS=no
|
||||
DEFAULT_wxUSE_TREECTRL=no
|
||||
DEFAULT_wxUSE_POPUPWIN=no
|
||||
DEFAULT_wxUSE_TIPWINDOW=no
|
||||
fi
|
||||
|
||||
WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
|
||||
@@ -1268,6 +1285,7 @@ WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUS
|
||||
WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
|
||||
WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
|
||||
WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
|
||||
WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW)
|
||||
WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN)
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
@@ -1278,7 +1296,7 @@ WX_ARG_ENABLE(commondlg, [ --enable-commondlg use all common dialogs], w
|
||||
WX_ARG_ENABLE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG)
|
||||
WX_ARG_ENABLE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG)
|
||||
WX_ARG_ENABLE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG)
|
||||
WX_ARG_ENABLE(filedlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
|
||||
WX_ARG_ENABLE(finddlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
|
||||
WX_ARG_ENABLE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG)
|
||||
WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG)
|
||||
WX_ARG_ENABLE(msgdlg, [ --enable-msgdlg use wxMessageDialog], wxUSE_MSGDLG)
|
||||
@@ -1312,7 +1330,7 @@ WX_ARG_ENABLE(image, [ --enable-image use wxImage class], wxUSE_
|
||||
WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF)
|
||||
WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX)
|
||||
WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM)
|
||||
WX_ARG_ENABLE(pnm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM)
|
||||
WX_ARG_ENABLE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM)
|
||||
|
||||
fi
|
||||
dnl for GUI only
|
||||
@@ -1411,7 +1429,7 @@ AC_CACHE_SAVE
|
||||
dnl cross-compiling support: we're cross compiling if the build system is
|
||||
dnl different from the target one (assume host and target be always the same)
|
||||
if test "$build" != "$host" ; then
|
||||
if test "$USE_WIN32" = 1 ; then
|
||||
if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 ; then
|
||||
CC=$host_alias-gcc
|
||||
CXX=$host_alias-c++
|
||||
AR=$host_alias-ar
|
||||
@@ -1956,17 +1974,24 @@ if test "$wxUSE_GUI" = "yes"; then
|
||||
gtk_version_cached=0
|
||||
AC_MSG_RESULT()
|
||||
|
||||
dnl we must link against lgthread unless the user
|
||||
dnl used --disable-threads
|
||||
GTK_MODULES=
|
||||
if test "$wxUSE_THREADS" = "yes"; then
|
||||
GTK_MODULES=gthread
|
||||
fi
|
||||
|
||||
wx_cv_lib_gtk=
|
||||
if test "x$wxUSE_GTK2" = "xyes"; then
|
||||
AM_PATH_GTK_2_0(1.3.1, wx_cv_lib_gtk=2.0, gthread)
|
||||
AM_PATH_GTK_2_0(1.3.1, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
|
||||
fi
|
||||
|
||||
if test -z "$wx_cv_lib_gtk"; then
|
||||
AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7)
|
||||
AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
|
||||
fi
|
||||
|
||||
if test -z "$wx_cv_lib_gtk"; then
|
||||
AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3)
|
||||
AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
|
||||
fi
|
||||
|
||||
if test -z "$wx_cv_lib_gtk"; then
|
||||
@@ -2016,8 +2041,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
|
||||
fi
|
||||
|
||||
if test "$wxUSE_MGL" = 1; then
|
||||
dnl FIXME_MGL - test for MGL's variants for freebsd etc.
|
||||
|
||||
AC_MSG_CHECKING(for SciTech MGL library)
|
||||
if test "x$MGL_ROOT" = x ; then
|
||||
AC_MSG_RESULT(not found)
|
||||
@@ -2026,7 +2049,19 @@ equivalent variable and GTK+ is version 1.2.3 or above.
|
||||
AC_MSG_RESULT($MGL_ROOT)
|
||||
fi
|
||||
|
||||
mgl_os=linux/gcc/glibc
|
||||
dnl Find MGL library that we want
|
||||
dnl FIXME_MGL - test for MGL variants for freebsd etc.
|
||||
case "${host}" in
|
||||
*-*-linux* )
|
||||
mgl_os=linux/gcc/glibc
|
||||
;;
|
||||
*-pc-msdosdjgpp )
|
||||
mgl_os=dos32/dj2
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
|
||||
esac
|
||||
|
||||
mgl_lib_type=""
|
||||
|
||||
if test "$wxUSE_DEBUG_FLAG" = yes ; then
|
||||
@@ -2239,7 +2274,7 @@ equivalent variable and GTK+ is version 1.2.3 or above.
|
||||
|
||||
ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS) \$(GENERICOBJS)"
|
||||
|
||||
if test "$TOOLKIT" != "MSW"; then
|
||||
if test "$TOOLKIT" != "MSW" -a "$USE_DOS" != 1; then
|
||||
ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
|
||||
fi
|
||||
|
||||
@@ -2443,9 +2478,11 @@ WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
|
||||
|
||||
dnl define which libs wx-config should link.
|
||||
WXCONFIG_LIBS="-l${WX_LIBRARY}"
|
||||
WXCONFIG_LIBS_STATIC="lib${WX_LIBRARY}.a"
|
||||
|
||||
if test "$wxUSE_OPENGL" = "yes"; then
|
||||
WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} $OPENGL_LIBS"
|
||||
WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} ${OPENGL_LIBS}"
|
||||
WXCONFIG_LIBS_STATIC_GL="lib${WX_LIBRARY_GL}.a ${OPENGL_LIBS}"
|
||||
fi
|
||||
|
||||
|
||||
@@ -2532,9 +2569,9 @@ if test "$wxUSE_SHARED" = "yes"; then
|
||||
;;
|
||||
|
||||
*-*-darwin* )
|
||||
CFLAGS="$CFLAGS -fno-common"
|
||||
CXXFLAGS="$CXXFLAGS -fno-common"
|
||||
SHARED_LD="$CXX -dynamiclib -o"
|
||||
CFLAGS="$CFLAGS -fno-common -DDYLIB_INIT"
|
||||
CXXFLAGS="$CXXFLAGS -fno-common -DDYLIB_INIT"
|
||||
SHARED_LD="$CXX -dynamiclib -init _wxWindowsDylibInit -o"
|
||||
PIC_FLAG="-dynamic -fPIC"
|
||||
;;
|
||||
|
||||
@@ -2592,6 +2629,7 @@ if test "$wxUSE_SHARED" = "yes"; then
|
||||
|
||||
dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
|
||||
WX_TARGET_LIBRARY_TYPE="so"
|
||||
INSTALL_LIBRARY='$(INSTALL_PROGRAM)'
|
||||
fi
|
||||
|
||||
dnl do not 'else' this, it may be changed in the above conditional.
|
||||
@@ -2618,6 +2656,7 @@ if test "$wxUSE_SHARED" = "no"; then
|
||||
WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
|
||||
|
||||
WX_TARGET_LIBRARY_TYPE="a"
|
||||
INSTALL_LIBRARY='$(INSTALL_DATA)'
|
||||
fi
|
||||
|
||||
if test "$wxUSE_MAC" = 1; then
|
||||
@@ -2625,7 +2664,7 @@ if test "$wxUSE_MAC" = 1; then
|
||||
WX_ALL="${WX_ALL} \$(build_libdir)/lib${WX_LIBRARY}.r"
|
||||
WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
|
||||
AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
|
||||
AC_CHECK_PROG(DEREZ, Derez, Derez, /Developer/Tools/Derez)
|
||||
AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
|
||||
LIBWXMACRES="\$(top_builddir)/lib/lib${WX_LIBRARY}.r"
|
||||
LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
|
||||
LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o"
|
||||
@@ -2645,12 +2684,16 @@ fi
|
||||
|
||||
dnl defines HAVE_STDLIB_H
|
||||
AC_CHECK_HEADERS(stdlib.h)
|
||||
dnl defines HAVE_MALLOC_H
|
||||
AC_CHECK_HEADERS(malloc.h)
|
||||
dnl defines HAVE_UNISTD_H
|
||||
AC_CHECK_HEADERS(unistd.h)
|
||||
dnl defines HAVE_WCHAR_H
|
||||
AC_CHECK_HEADERS(wchar.h)
|
||||
dnl defines HAVE_WCSTR_H
|
||||
AC_CHECK_HEADERS(wcstr.h)
|
||||
dnl defined HAVE_WCTYPE_H
|
||||
AC_CHECK_HEADERS(wctype.h)
|
||||
dnl defines HAVE_FNMATCH_H
|
||||
AC_CHECK_HEADERS(fnmatch.h)
|
||||
dnl defines HAVE_ICONV_H (Unix98 encoding conversion routines)
|
||||
@@ -2682,11 +2725,15 @@ AC_TYPE_UID_T
|
||||
|
||||
dnl check for wchar_t
|
||||
dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
|
||||
dnl on Cygwin wchar.h needs stddef.h to be #included by hand
|
||||
AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t,
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#ifdef HAVE_WCHAR_H
|
||||
# ifdef __CYGWIN__
|
||||
# include <stddef.h>
|
||||
# endif
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
@@ -2811,6 +2858,9 @@ AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
#ifdef HAVE_WCHAR_H
|
||||
# ifdef __CYGWIN__
|
||||
# include <stddef.h>
|
||||
# endif
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
@@ -2871,20 +2921,21 @@ AC_FUNC_VPRINTF
|
||||
|
||||
dnl check for vsscanf() and vsnprintf() - on some platforms (Linux, glibc
|
||||
dnl 2.1.1 for the first one, HP-UX for the second) it's available in the
|
||||
dnl library but the prototype is missing, so we can't use AC_CHECK_FUNCS here,
|
||||
dnl do it manually
|
||||
dnl library but the prototype is missing, so we can't use AC_CHECK_FUNCS() here,
|
||||
dnl do it manually. We can't use AC_TRY_COMPILE(), either, because it doesn't
|
||||
dnl check if the symbol is available at linking time
|
||||
|
||||
dnl we use AC_TRY_COMPILE() here instead of AC_TRY_RUN() to make the checks
|
||||
dnl work for cross-compilation, but AC_TRY_COMPILE() normally only compiles
|
||||
dnl we use AC_TRY_LINK() here instead of AC_TRY_RUN() to make the checks
|
||||
dnl work for cross-compilation, but AC_TRY_LINK() normally only compiles
|
||||
dnl one function while we need at least 2 - hence the ugly hack below. To
|
||||
dnl understand why it works, remember that AC_TRY_COMPILE() just prepends
|
||||
dnl understand why it works, remember that AC_TRY_LINK() just prepends
|
||||
dnl "int main() {" in the beginning of the code and "; return 0; }" at the
|
||||
dnl end...
|
||||
|
||||
dnl if we fail to find vsnprintf, also try for _vsnprintf as that is what
|
||||
dnl we'll find under MSW if it exists.
|
||||
|
||||
dnl final note: AC_TRY_COMPILE will only be executed if there is nothing in
|
||||
dnl final note: AC_TRY_LINK will only be executed if there is nothing in
|
||||
dnl the cache so we have to do AC_DEFINE(HAVE_VSNPRINTF) below and not inside
|
||||
dnl it or the symbol wouldn't be defined for the 2nd and subsequent configure
|
||||
dnl runs
|
||||
@@ -2892,7 +2943,7 @@ dnl runs
|
||||
dnl check for vsnprintf() - a safe version of vsprintf()
|
||||
AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
|
||||
[
|
||||
AC_TRY_COMPILE([
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
], [
|
||||
@@ -2913,7 +2964,7 @@ AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
|
||||
], [
|
||||
wx_cv_func_vsnprintf=yes
|
||||
], [
|
||||
AC_TRY_COMPILE([
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
], [
|
||||
@@ -2942,7 +2993,7 @@ AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
|
||||
if test "$wx_cv_func_vsnprintf" = yes; then
|
||||
AC_DEFINE(HAVE_VSNPRINTF)
|
||||
else
|
||||
AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
|
||||
AC_MSG_WARN(unsafe function vsprintf will be used instead of vsnprintf)
|
||||
fi
|
||||
|
||||
dnl check for vsscanf()
|
||||
@@ -3037,6 +3088,9 @@ fi
|
||||
dnl check for vfork() (even if it's the same as fork() in modern Unices)
|
||||
AC_CHECK_FUNCS(vfork)
|
||||
|
||||
dnl check for the function for temp files creation
|
||||
AC_CHECK_FUNCS(mkstemp mktemp, break)
|
||||
|
||||
dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
|
||||
dnl Linux and *BSD and statvfs() under Solaris
|
||||
AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
|
||||
@@ -3220,10 +3274,10 @@ if test "$TOOLKIT" != "MSW"; then
|
||||
|
||||
if test "$wxUSE_THREADS" = "yes" ; then
|
||||
if test "$wxUSE_WINE" = 1 ; then
|
||||
AC_MSG_WARN([Threads are not supported under WINE])
|
||||
AC_MSG_WARN([Threads are not supported under WINE... disabled])
|
||||
wxUSE_THREADS="no"
|
||||
elif test "$USE_BEOS" = 1; then
|
||||
AC_MSG_WARN([BeOS threads are not yet supported])
|
||||
AC_MSG_WARN([BeOS threads are not yet supported... disabled])
|
||||
wxUSE_THREADS="no"
|
||||
fi
|
||||
fi
|
||||
@@ -3259,7 +3313,7 @@ if test "$TOOLKIT" != "MSW"; then
|
||||
|
||||
if test -z "$THREADS_OBJ" ; then
|
||||
wxUSE_THREADS=no
|
||||
AC_MSG_WARN(No thread support on this system)
|
||||
AC_MSG_WARN([No thread support on this system... disabled])
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -3413,10 +3467,8 @@ fi
|
||||
if test "$wxUSE_THREADS" = "yes"; then
|
||||
AC_DEFINE(wxUSE_THREADS)
|
||||
|
||||
dnl must define _REENTRANT for multithreaded code except for Darwin/Mac OS X
|
||||
if test "$USE_DARWIN" != 1; then
|
||||
TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -D_REENTRANT"
|
||||
fi
|
||||
dnl we must define _REENTRANT or something along these lines for MT code
|
||||
TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS $CPP_MT_FLAG"
|
||||
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
|
||||
else
|
||||
@@ -3637,7 +3689,7 @@ fi
|
||||
|
||||
if test "$wxUSE_TEXTFILE" = "yes"; then
|
||||
if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
|
||||
AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer and won't be compiled without them)
|
||||
AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled)
|
||||
else
|
||||
AC_DEFINE(wxUSE_TEXTFILE)
|
||||
fi
|
||||
@@ -3645,7 +3697,7 @@ fi
|
||||
|
||||
if test "$wxUSE_CONFIG" = "yes" ; then
|
||||
if test "$wxUSE_TEXTFILE" != "yes"; then
|
||||
AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
|
||||
AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
|
||||
else
|
||||
AC_DEFINE(wxUSE_CONFIG)
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
|
||||
@@ -3654,7 +3706,7 @@ fi
|
||||
|
||||
if test "$wxUSE_INTL" = "yes" ; then
|
||||
if test "$wxUSE_FILE" != "yes"; then
|
||||
AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
|
||||
AC_MSG_WARN(I18n code requires wxFile... disabled)
|
||||
else
|
||||
AC_DEFINE(wxUSE_INTL)
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
|
||||
@@ -3672,6 +3724,10 @@ if test "$wxUSE_LOG" = "yes"; then
|
||||
if test "$wxUSE_LOGWINDOW" = "yes"; then
|
||||
AC_DEFINE(wxUSE_LOGWINDOW)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_LOGDIALOG" = "yes"; then
|
||||
AC_DEFINE(wxUSE_LOG_DIALOG)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$wxUSE_LONGLONG" = "yes"; then
|
||||
@@ -3738,7 +3794,11 @@ if test "$wxUSE_DATETIME" = "yes"; then
|
||||
[
|
||||
wx_cv_var_timezone=__timezone
|
||||
],
|
||||
AC_MSG_ERROR(no timezone variable)
|
||||
[
|
||||
if test "$USE_DOS" = 0 ; then
|
||||
AC_MSG_ERROR(no timezone variable)
|
||||
fi
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
@@ -3748,7 +3808,9 @@ if test "$wxUSE_DATETIME" = "yes"; then
|
||||
)
|
||||
|
||||
dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
|
||||
AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
|
||||
if test "x$wx_cv_var_timezone" != x ; then
|
||||
AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
|
||||
fi
|
||||
|
||||
dnl check for localtime (it's POSIX, but the check can do no harm...)
|
||||
AC_CHECK_FUNCS(localtime)
|
||||
@@ -3918,6 +3980,15 @@ dnl ---------------------------------------------------------------------------
|
||||
|
||||
if test "$wxUSE_GUI" = "yes"; then
|
||||
|
||||
if test "$TOOLKIT" = "MAC"; then
|
||||
AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
|
||||
wxUSE_JOYSTICK=no
|
||||
fi
|
||||
if test "$TOOLKIT" = "MOTIF"; then
|
||||
AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
|
||||
wxUSE_JOYSTICK=no
|
||||
fi
|
||||
|
||||
dnl under MSW we always have joystick support
|
||||
if test "$TOOLKIT" != "MSW"; then
|
||||
if test "$wxUSE_JOYSTICK" = "yes"; then
|
||||
@@ -3925,7 +3996,7 @@ if test "$wxUSE_GUI" = "yes"; then
|
||||
AC_CHECK_HEADERS(linux/joystick.h)
|
||||
if test "$ac_cv_header_linux_joystick_h" != "yes"; then
|
||||
wxUSE_JOYSTICK=no
|
||||
AC_MSG_WARN(Joystick not supported by this system, disabled)
|
||||
AC_MSG_WARN(Joystick not supported by this system... disabled)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -3945,7 +4016,7 @@ if test "$TOOLKIT" != "MSW"; then
|
||||
|
||||
HAVE_DL_FUNCS=0
|
||||
HAVE_SHL_FUNCS=0
|
||||
if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
|
||||
if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
|
||||
if test "$USE_DARWIN" = 1; then
|
||||
dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
|
||||
HAVE_DL_FUNCS=1
|
||||
@@ -3993,6 +4064,7 @@ if test "$TOOLKIT" != "MSW"; then
|
||||
if test "$HAVE_SHL_FUNCS" = 0; then
|
||||
if test "$USE_UNIX" = 1; then
|
||||
AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
|
||||
wxUSE_DYNAMIC_LOADER=no
|
||||
wxUSE_DYNLIB_CLASS=no
|
||||
else
|
||||
AC_MSG_WARN([Assuming wxLibrary class works on this platform])
|
||||
@@ -4002,11 +4074,10 @@ if test "$TOOLKIT" != "MSW"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
|
||||
if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
|
||||
AC_DEFINE(wxUSE_DYNAMIC_LOADER)
|
||||
elif test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
|
||||
AC_DEFINE(wxUSE_DYNLIB_CLASS)
|
||||
else
|
||||
wxUSE_ODBC=no
|
||||
wxUSE_SERIAL=no
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
@@ -4025,13 +4096,6 @@ if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
|
||||
AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
|
||||
fi
|
||||
|
||||
dnl ----------------------------------------------------------------
|
||||
dnl serialization support
|
||||
dnl ----------------------------------------------------------------
|
||||
|
||||
if test "$wxUSE_SERIAL" = "yes" ; then
|
||||
AC_DEFINE(wxUSE_SERIAL)
|
||||
fi
|
||||
|
||||
dnl ----------------------------------------------------------------
|
||||
dnl iODBC support
|
||||
@@ -4067,7 +4131,7 @@ fi
|
||||
|
||||
if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
|
||||
if test "$wxUSE_UNIVERSAL" = "yes"; then
|
||||
AC_MSG_WARN(MDI is not supported for wxUNIVERSAL yet... disabled)
|
||||
AC_MSG_WARN(MDI not yet supported for wxUNIVERSAL... disabled)
|
||||
wxUSE_MDI_ARCHITECTURE=no
|
||||
fi
|
||||
|
||||
@@ -4174,7 +4238,7 @@ fi
|
||||
|
||||
if test "$wxUSE_IPC" = "yes"; then
|
||||
if test "$wxUSE_SOCKETS" != "yes"; then
|
||||
AC_MSG_WARN(wxWindows IPC classes require sockets, disabled)
|
||||
AC_MSG_WARN(wxWindows IPC classes require sockets... disabled)
|
||||
fi
|
||||
|
||||
AC_DEFINE(wxUSE_IPC)
|
||||
@@ -4190,18 +4254,18 @@ fi
|
||||
if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
|
||||
if test "$wxUSE_GTK" = 1; then
|
||||
if test "$WXGTK12" != 1; then
|
||||
AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2])
|
||||
AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled])
|
||||
wxUSE_DRAG_AND_DROP=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$wxUSE_MOTIF" = 1; then
|
||||
AC_MSG_WARN([Drag and drop is not yet supported under Motif])
|
||||
AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
|
||||
wxUSE_DRAG_AND_DROP=no
|
||||
fi
|
||||
|
||||
if test "$wxUSE_MAC" = 1; then
|
||||
AC_MSG_WARN([Drag and drop is not yet supported under Mac OS X])
|
||||
AC_MSG_WARN([Drag and drop not yet supported under Mac OS X... disabled])
|
||||
wxUSE_DRAG_AND_DROP=no
|
||||
fi
|
||||
|
||||
@@ -4406,8 +4470,12 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
|
||||
fi
|
||||
|
||||
if test "$wxUSE_TOGGLEBTN" = "yes"; then
|
||||
if test "$wxUSE_MAC" = 1 -o "$wxUSE_UNIVERSAL" = "yes"; then
|
||||
AC_MSG_WARN([Toggle button not yet supported under Mac OS X or wxUNIVERSAL... disabled])
|
||||
if test "$wxUSE_MAC" = 1; then
|
||||
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
|
||||
wxUSE_TOGGLEBTN=no
|
||||
fi
|
||||
if test "$wxUSE_UNIVERSAL" = "yes"; then
|
||||
AC_MSG_WARN([Toggle button not yet supported under wxUNIVERSAL... disabled])
|
||||
wxUSE_TOGGLEBTN=no
|
||||
fi
|
||||
|
||||
@@ -4442,12 +4510,16 @@ fi
|
||||
|
||||
if test "$wxUSE_TOOLTIPS" = "yes"; then
|
||||
if test "$wxUSE_MOTIF" = 1; then
|
||||
AC_MSG_WARN(wxTooltip not supported yet under Motif)
|
||||
AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
|
||||
else
|
||||
if test "$wxUSE_WINE" = 1; then
|
||||
AC_MSG_WARN(wxTooltip not supported under WINE)
|
||||
AC_MSG_WARN([wxTooltip not supported under WINE... disabled])
|
||||
else
|
||||
AC_DEFINE(wxUSE_TOOLTIPS)
|
||||
if test "$wxUSE_UNIVERSAL" = "yes"; then
|
||||
AC_MSG_WARN([wxTooltip not supported yet in wxUNIVERSAL... disabled])
|
||||
else
|
||||
AC_DEFINE(wxUSE_TOOLTIPS)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -4464,13 +4536,22 @@ fi
|
||||
|
||||
if test "$wxUSE_POPUPWIN" = "yes"; then
|
||||
if test "$wxUSE_MAC" = 1; then
|
||||
AC_MSG_WARN(Popup window is not yet supported under Mac OS)
|
||||
AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
|
||||
else
|
||||
AC_DEFINE(wxUSE_POPUPWIN)
|
||||
USES_CONTROLS=1
|
||||
if test "$wxUSE_MOTIF" = 1; then
|
||||
AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled])
|
||||
else
|
||||
AC_DEFINE(wxUSE_POPUPWIN)
|
||||
|
||||
USES_CONTROLS=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$wxUSE_TIPWINDOW" = "yes"; then
|
||||
AC_DEFINE(wxUSE_TIPWINDOW)
|
||||
fi
|
||||
|
||||
if test "$USES_CONTROLS" = 1; then
|
||||
AC_DEFINE(wxUSE_CONTROLS)
|
||||
fi
|
||||
@@ -4783,6 +4864,8 @@ AC_SUBST(host_alias)
|
||||
AC_SUBST(cross_compiling)
|
||||
AC_SUBST(WXCONFIG_LIBS)
|
||||
AC_SUBST(WXCONFIG_LIBS_GL)
|
||||
AC_SUBST(WXCONFIG_LIBS_STATIC)
|
||||
AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
|
||||
AC_SUBST(WXCONFIG_INCLUDE)
|
||||
|
||||
dnl what to compile
|
||||
@@ -4822,10 +4905,10 @@ AC_SUBST(AS)
|
||||
AC_SUBST(NM)
|
||||
AC_SUBST(LD)
|
||||
AC_SUBST(MAKEINFO)
|
||||
|
||||
AC_SUBST(INSTALL_LIBRARY)
|
||||
|
||||
dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
|
||||
dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
|
||||
dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
|
||||
dnl - and we do use it)
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
|
@@ -1098,6 +1098,9 @@ public:
|
||||
bool mAuxBoolVal;
|
||||
*/
|
||||
|
||||
// Not used, but required
|
||||
virtual wxEvent* Clone() const { return NULL; }
|
||||
|
||||
#if wxCHECK_VERSION(2,3,0)
|
||||
cbPluginEvent( wxEventType eventType, cbDockPane* pPane )
|
||||
: mpPane( pPane )
|
||||
|
@@ -13,6 +13,13 @@
|
||||
#ifndef _WX_DYNAMICSASH_H_
|
||||
#define _WX_DYNAMICSASH_H_
|
||||
|
||||
#ifdef GIZMOISDLL
|
||||
#define GIZMODLLEXPORT WXDLLEXPORT
|
||||
#else
|
||||
#define GIZMODLLEXPORT
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
|
||||
wxDynamicSashWindow
|
||||
@@ -44,7 +51,7 @@
|
||||
for instance, you wish to scroll a subwindow of the view you add to
|
||||
your wxDynamicSashWindow object, rather than scrolling the whole view.)
|
||||
In this case, you will need to construct your wxDynamicSashWindow without
|
||||
the wxMANAGE_SCROLLBARS style and you will need to use the
|
||||
the wxDS_MANAGE_SCROLLBARS style and you will need to use the
|
||||
GetHScrollBar() and GetVScrollBar() methods to retrieve the scrollbar
|
||||
controls and call SetEventHanler() on them to redirect the scrolling
|
||||
events whenever your window is reparented by wxDyanmicSashWindow.
|
||||
@@ -73,11 +80,19 @@ class wxScrollBar;
|
||||
|
||||
|
||||
/*
|
||||
wxMANAGE_SCROLLBARS is a default style of wxDynamicSashWindow which
|
||||
wxDS_MANAGE_SCROLLBARS is a default style of wxDynamicSashWindow which
|
||||
will cause it to respond to scrollbar events for your application by
|
||||
automatically scrolling the child view.
|
||||
*/
|
||||
#define wxMANAGE_SCROLLBARS 0x00800000
|
||||
#define wxDS_MANAGE_SCROLLBARS 0x0010
|
||||
|
||||
|
||||
/*
|
||||
wxDS_DRAG_CORNER style indicates that the views can also be resized by
|
||||
dragging the corner piece between the scrollbars, and which is reflected up
|
||||
to the frame if necessary.
|
||||
*/
|
||||
#define wxDS_DRAG_CORNER 0x0020
|
||||
|
||||
|
||||
/*
|
||||
@@ -87,11 +102,14 @@ class wxScrollBar;
|
||||
a child of the wxDynamicSashWindow. wxDynamicSashWindow will
|
||||
automatically reparent it to the proper place in its window hierarchy.
|
||||
*/
|
||||
class wxDynamicSashSplitEvent : public wxCommandEvent {
|
||||
class GIZMODLLEXPORT wxDynamicSashSplitEvent : public wxCommandEvent {
|
||||
public:
|
||||
wxDynamicSashSplitEvent();
|
||||
wxDynamicSashSplitEvent(const wxDynamicSashSplitEvent& event): wxCommandEvent(event) { }
|
||||
wxDynamicSashSplitEvent(wxObject *target);
|
||||
|
||||
virtual wxEvent* Clone() const { return new wxDynamicSashSplitEvent(*this); }
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxDynamicSashSplitEvent)
|
||||
};
|
||||
@@ -106,11 +124,14 @@ private:
|
||||
the scrollbars' event handlers connected to your view's event handler
|
||||
class.
|
||||
*/
|
||||
class wxDynamicSashUnifyEvent : public wxCommandEvent {
|
||||
class GIZMODLLEXPORT wxDynamicSashUnifyEvent : public wxCommandEvent {
|
||||
public:
|
||||
wxDynamicSashUnifyEvent();
|
||||
wxDynamicSashUnifyEvent(const wxDynamicSashUnifyEvent& event): wxCommandEvent(event) {}
|
||||
wxDynamicSashUnifyEvent(wxObject *target);
|
||||
|
||||
virtual wxEvent* Clone() const { return new wxDynamicSashUnifyEvent(*this); }
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxDynamicSashUnifyEvent);
|
||||
};
|
||||
@@ -118,18 +139,18 @@ private:
|
||||
/*
|
||||
wxDynamicSashWindow. See above.
|
||||
*/
|
||||
class wxDynamicSashWindow : public wxWindow {
|
||||
class GIZMODLLEXPORT wxDynamicSashWindow : public wxWindow {
|
||||
public:
|
||||
wxDynamicSashWindow();
|
||||
wxDynamicSashWindow(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||
long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
|
||||
long style = wxCLIP_CHILDREN | wxDS_MANAGE_SCROLLBARS | wxDS_DRAG_CORNER,
|
||||
const wxString& name = "dynamicSashWindow");
|
||||
virtual ~wxDynamicSashWindow();
|
||||
|
||||
virtual bool Create(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||
long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
|
||||
long style = wxCLIP_CHILDREN | wxDS_MANAGE_SCROLLBARS | wxDS_DRAG_CORNER,
|
||||
const wxString& name = "dynamicSashWindow");
|
||||
virtual wxScrollBar *GetHScrollBar(const wxWindow *child) const;
|
||||
virtual wxScrollBar *GetVScrollBar(const wxWindow *child) const;
|
||||
|
@@ -17,6 +17,12 @@
|
||||
|
||||
#include "wx/panel.h"
|
||||
|
||||
#ifdef GIZMOISDLL
|
||||
#define GIZMODLLEXPORT WXDLLEXPORT
|
||||
#else
|
||||
#define GIZMODLLEXPORT
|
||||
#endif
|
||||
|
||||
|
||||
class WXDLLEXPORT wxBitmapButton;
|
||||
class WXDLLEXPORT wxListCtrl;
|
||||
@@ -25,7 +31,7 @@ class WXDLLEXPORT wxListEvent;
|
||||
// This class provides a composite control that lets the
|
||||
// user easily enter list of strings
|
||||
|
||||
class WXDLLEXPORT wxEditableListBox : public wxPanel
|
||||
class GIZMODLLEXPORT wxEditableListBox : public wxPanel
|
||||
{
|
||||
DECLARE_CLASS(wxEditableListBox);
|
||||
|
||||
|
89
contrib/include/wx/gizmos/ledctrl.h
Normal file
89
contrib/include/wx/gizmos/ledctrl.h
Normal file
@@ -0,0 +1,89 @@
|
||||
#ifndef _WX_LEDNUMBERCTRL_H_
|
||||
#define _WX_LEDNUMBERCTRL_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "wxLEDNumberCtrl.h"
|
||||
#endif
|
||||
|
||||
#ifdef GIZMOISDLL
|
||||
#define GIZMODLLEXPORT WXDLLEXPORT
|
||||
#else
|
||||
#define GIZMODLLEXPORT
|
||||
#endif
|
||||
|
||||
|
||||
#include <wx/window.h>
|
||||
#include <wx/control.h>
|
||||
|
||||
class wxEraseEvent;
|
||||
class wxPaintEvent;
|
||||
class wxSizeEvent;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// enum and styles
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
enum wxLEDValueAlign
|
||||
{
|
||||
wxLED_ALIGN_LEFT = 0x01,
|
||||
wxLED_ALIGN_RIGHT = 0x02,
|
||||
wxLED_ALIGN_CENTER = 0x04,
|
||||
|
||||
wxLED_ALIGN_MASK = 0x04
|
||||
};
|
||||
|
||||
#define wxLED_DRAW_FADED 0x08
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxLEDNumberCtrl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class GIZMODLLEXPORT wxLEDNumberCtrl : public wxControl
|
||||
{
|
||||
public:
|
||||
// Constructors.
|
||||
wxLEDNumberCtrl();
|
||||
wxLEDNumberCtrl(wxWindow *parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxLED_ALIGN_LEFT | wxLED_DRAW_FADED);
|
||||
|
||||
// Create functions.
|
||||
bool Create(wxWindow *parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = 0);
|
||||
|
||||
wxLEDValueAlign GetAlignment() const { return m_Alignment; }
|
||||
bool GetDrawFaded() const { return m_DrawFaded; }
|
||||
const wxString &GetValue() const { return m_Value; }
|
||||
|
||||
void SetAlignment(wxLEDValueAlign Alignment, bool Redraw = TRUE);
|
||||
void SetDrawFaded(bool DrawFaded, bool Redraw = TRUE);
|
||||
void SetValue(const wxString &Value, bool Redraw = TRUE);
|
||||
|
||||
private:
|
||||
// Members.
|
||||
wxString m_Value;
|
||||
wxLEDValueAlign m_Alignment;
|
||||
|
||||
int m_LineMargin;
|
||||
int m_DigitMargin;
|
||||
int m_LineLength;
|
||||
int m_LineWidth;
|
||||
bool m_DrawFaded;
|
||||
int m_LeftStartPos;
|
||||
|
||||
// Functions.
|
||||
void DrawDigit(wxDC &Dc, int Digit, int Column);
|
||||
void RecalcInternals(const wxSize &CurrentSize);
|
||||
|
||||
// Events.
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
void OnEraseBackground(wxEraseEvent &Event);
|
||||
void OnPaint(wxPaintEvent &Event);
|
||||
void OnSize(wxSizeEvent &Event);
|
||||
};
|
||||
|
||||
#endif
|
@@ -19,6 +19,14 @@
|
||||
#pragma interface "multicell.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef GIZMOISDLL
|
||||
#define GIZMODLLEXPORT WXDLLEXPORT
|
||||
#else
|
||||
#define GIZMODLLEXPORT
|
||||
#endif
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -45,7 +53,7 @@ enum wxResizable
|
||||
// wxMultiCellItemHandle
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxMultiCellItemHandle: public wxObject
|
||||
class GIZMODLLEXPORT wxMultiCellItemHandle: public wxObject
|
||||
{
|
||||
DECLARE_CLASS(wxMultiCellItemHandle);
|
||||
protected:
|
||||
@@ -81,7 +89,7 @@ private:
|
||||
// wxMultiCellSizer
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxMultiCellSizer : virtual public wxSizer
|
||||
class GIZMODLLEXPORT wxMultiCellSizer : virtual public wxSizer
|
||||
{
|
||||
DECLARE_CLASS(wxMultiCellSizer);
|
||||
|
||||
@@ -131,7 +139,7 @@ class wxCell;
|
||||
// wxMultiCellCanvas
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
class wxMultiCellCanvas : public wxFlexGridSizer
|
||||
class GIZMODLLEXPORT wxMultiCellCanvas : public wxFlexGridSizer
|
||||
{
|
||||
public:
|
||||
wxMultiCellCanvas(wxWindow *parent, int numRows = 2, int numCols = 2);
|
||||
|
@@ -15,7 +15,13 @@
|
||||
#define _WX_SPLITTREE_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "splittree.h"
|
||||
#pragma interface "splittree.h"
|
||||
#endif
|
||||
|
||||
#ifdef GIZMOISDLL
|
||||
#define GIZMODLLEXPORT WXDLLEXPORT
|
||||
#else
|
||||
#define GIZMODLLEXPORT
|
||||
#endif
|
||||
|
||||
// Set this to 1 to use generic tree control (doesn't yet work properly)
|
||||
@@ -46,18 +52,19 @@ class wxSplitterScrolledWindow;
|
||||
* It also updates the scrolled window vertical scrollbar as appropriate.
|
||||
*/
|
||||
|
||||
class wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
|
||||
class GIZMODLLEXPORT wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
|
||||
{
|
||||
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
|
||||
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
|
||||
public:
|
||||
wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition,
|
||||
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
|
||||
~wxRemotelyScrolledTreeCtrl();
|
||||
~wxRemotelyScrolledTreeCtrl();
|
||||
|
||||
//// Events
|
||||
void OnSize(wxSizeEvent& event);
|
||||
void OnExpand(wxTreeEvent& event);
|
||||
void OnSize(wxSizeEvent& event);
|
||||
void OnExpand(wxTreeEvent& event);
|
||||
void OnScroll(wxScrollWinEvent& event);
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
|
||||
//// Overrides
|
||||
// Override this in case we're using the generic tree control.
|
||||
@@ -82,18 +89,18 @@ public:
|
||||
virtual int GetScrollPos(int orient) const;
|
||||
|
||||
//// Helpers
|
||||
void HideVScrollbar();
|
||||
void HideVScrollbar();
|
||||
|
||||
// Calculate the tree overall size so we can set the scrollbar
|
||||
// correctly
|
||||
void CalcTreeSize(wxRect& rect);
|
||||
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
|
||||
// Calculate the tree overall size so we can set the scrollbar
|
||||
// correctly
|
||||
void CalcTreeSize(wxRect& rect);
|
||||
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
|
||||
|
||||
// Adjust the containing wxScrolledWindow's scrollbars appropriately
|
||||
void AdjustRemoteScrollbars();
|
||||
// Adjust the containing wxScrolledWindow's scrollbars appropriately
|
||||
void AdjustRemoteScrollbars();
|
||||
|
||||
// Find the scrolled window that contains this control
|
||||
wxScrolledWindow* GetScrolledWindow() const;
|
||||
// Find the scrolled window that contains this control
|
||||
wxScrolledWindow* GetScrolledWindow() const;
|
||||
|
||||
// Scroll to the given line (in scroll units where each unit is
|
||||
// the height of an item)
|
||||
@@ -101,15 +108,16 @@ public:
|
||||
|
||||
//// Accessors
|
||||
|
||||
// The companion window is one which will get notified when certain
|
||||
// events happen such as node expansion
|
||||
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
|
||||
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
|
||||
// The companion window is one which will get notified when certain
|
||||
// events happen such as node expansion
|
||||
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
|
||||
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
protected:
|
||||
wxWindow* m_companionWindow;
|
||||
wxWindow* m_companionWindow;
|
||||
bool m_drawRowLines;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -118,7 +126,7 @@ protected:
|
||||
* A window displaying values associated with tree control items.
|
||||
*/
|
||||
|
||||
class wxTreeCompanionWindow: public wxWindow
|
||||
class GIZMODLLEXPORT wxTreeCompanionWindow: public wxWindow
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS(wxTreeCompanionWindow)
|
||||
@@ -129,22 +137,22 @@ public:
|
||||
long style = 0);
|
||||
|
||||
//// Overrides
|
||||
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
|
||||
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
|
||||
|
||||
//// Events
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
void OnScroll(wxScrollWinEvent& event);
|
||||
void OnExpand(wxTreeEvent& event);
|
||||
void OnExpand(wxTreeEvent& event);
|
||||
|
||||
//// Operations
|
||||
|
||||
//// Accessors
|
||||
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
|
||||
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
|
||||
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
|
||||
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
|
||||
|
||||
//// Data members
|
||||
protected:
|
||||
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
|
||||
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
@@ -157,7 +165,7 @@ protected:
|
||||
* than the usual one.
|
||||
*/
|
||||
|
||||
class wxThinSplitterWindow: public wxSplitterWindow
|
||||
class GIZMODLLEXPORT wxThinSplitterWindow: public wxSplitterWindow
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS(wxThinSplitterWindow)
|
||||
@@ -173,7 +181,7 @@ public:
|
||||
// Tests for x, y over sash. Overriding this allows us to increase
|
||||
// the tolerance.
|
||||
bool SashHitTest(int x, int y, int tolerance = 2);
|
||||
void DrawSash(wxDC& dc);
|
||||
void DrawSash(wxDC& dc);
|
||||
|
||||
//// Events
|
||||
|
||||
@@ -197,7 +205,7 @@ protected:
|
||||
* scroll appropriately.
|
||||
*/
|
||||
|
||||
class wxSplitterScrolledWindow: public wxScrolledWindow
|
||||
class GIZMODLLEXPORT wxSplitterScrolledWindow: public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow)
|
||||
|
@@ -124,7 +124,7 @@ class WXDLLEXPORT wxExprDatabase;
|
||||
|
||||
|
||||
|
||||
class wxShapeEvtHandler: public wxObject
|
||||
class wxShapeEvtHandler: public wxObject, public wxClientDataContainer
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxShapeEvtHandler)
|
||||
|
||||
@@ -299,8 +299,6 @@ class wxShape: public wxShapeEvtHandler
|
||||
|
||||
void SetPen(wxPen *pen);
|
||||
void SetBrush(wxBrush *brush);
|
||||
inline void SetClientData(wxObject *client_data) { m_clientData = client_data; };
|
||||
inline wxObject *GetClientData() const { return m_clientData; };
|
||||
|
||||
virtual void Show(bool show);
|
||||
virtual bool IsShown() const { return m_visible; }
|
||||
@@ -515,8 +513,10 @@ class wxShape: public wxShapeEvtHandler
|
||||
// Clears points from a list of wxRealPoints
|
||||
void ClearPointList(wxList& list);
|
||||
|
||||
private:
|
||||
wxObject* m_clientData;
|
||||
// Return pen or brush of the right colour for the background
|
||||
wxPen GetBackgroundPen();
|
||||
wxBrush GetBackgroundBrush();
|
||||
|
||||
|
||||
protected:
|
||||
wxShapeEvtHandler* m_eventHandler;
|
||||
|
@@ -99,7 +99,6 @@ extern wxPen* g_oglWhiteBackgroundPen;
|
||||
extern wxPen* g_oglTransparentPen;
|
||||
extern wxBrush* g_oglWhiteBackgroundBrush;
|
||||
extern wxPen* g_oglBlackForegroundPen;
|
||||
extern wxCursor* g_oglBullseyeCursor;
|
||||
|
||||
extern wxFont* oglMatchFont(int point_size);
|
||||
|
||||
|
@@ -1594,6 +1594,14 @@ public:
|
||||
// Send a message to Scintilla
|
||||
long SendMsg(int msg, long wp=0, long lp=0);
|
||||
|
||||
|
||||
// Set the vertical scrollbar to use instead of the ont that's built-in.
|
||||
void SetVScrollBar(wxScrollBar* bar) { m_vScrollBar = bar; }
|
||||
|
||||
|
||||
// Set the horizontal scrollbar to use instead of the ont that's built-in.
|
||||
void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1602,10 +1610,12 @@ private:
|
||||
// Event handlers
|
||||
void OnPaint(wxPaintEvent& evt);
|
||||
void OnScrollWin(wxScrollWinEvent& evt);
|
||||
void OnScroll(wxScrollEvent& evt);
|
||||
void OnSize(wxSizeEvent& evt);
|
||||
void OnMouseLeftDown(wxMouseEvent& evt);
|
||||
void OnMouseMove(wxMouseEvent& evt);
|
||||
void OnMouseLeftUp(wxMouseEvent& evt);
|
||||
void OnMouseRightUp(wxMouseEvent& evt);
|
||||
void OnContextMenu(wxContextMenuEvent& evt);
|
||||
void OnMouseWheel(wxMouseEvent& evt);
|
||||
void OnChar(wxKeyEvent& evt);
|
||||
@@ -1629,6 +1639,8 @@ private:
|
||||
|
||||
ScintillaWX* m_swx;
|
||||
wxStopWatch m_stopWatch;
|
||||
wxScrollBar* m_vScrollBar;
|
||||
wxScrollBar* m_hScrollBar;
|
||||
|
||||
bool m_lastKeyDownConsumed;
|
||||
|
||||
@@ -1642,6 +1654,9 @@ private:
|
||||
class wxStyledTextEvent : public wxCommandEvent {
|
||||
public:
|
||||
wxStyledTextEvent(wxEventType commandType=0, int id=0);
|
||||
#ifndef SWIG
|
||||
wxStyledTextEvent(const wxStyledTextEvent& event);
|
||||
#endif
|
||||
~wxStyledTextEvent() {}
|
||||
|
||||
void SetPosition(int pos) { m_position = pos; }
|
||||
@@ -1694,7 +1709,7 @@ public:
|
||||
bool GetControl() const;
|
||||
bool GetAlt() const;
|
||||
|
||||
void CopyObject(wxObject& obj) const;
|
||||
virtual wxEvent* Clone() const { return new wxStyledTextEvent(*this); }
|
||||
|
||||
#ifndef SWIG
|
||||
private:
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# $Id$
|
||||
|
||||
CONTRIB_SAMPLES=mmedia ogl stc gizmos canvas xrc plot applet fl
|
||||
CONTRIB_SAMPLES=canvas fl gizmos mmedia net ogl plot stc xrc #applet
|
||||
|
||||
all:
|
||||
@for d in $(CONTRIB_SAMPLES); do (cd $$d && $(MAKE)); done
|
||||
|
@@ -1,7 +1,7 @@
|
||||
# Purpose: makefile for multicell example (Unix)
|
||||
# Created 2000-07-28
|
||||
|
||||
CC = gcc
|
||||
CXX = $(shell wx-config --cxx)
|
||||
|
||||
PROGRAM = mtest
|
||||
|
||||
@@ -13,12 +13,12 @@ EXTRAINC=-I../include
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c `wx-config --cflags` -o $@ $<
|
||||
$(CXX) -c `wx-config --cxxflags` -o $@ $<
|
||||
|
||||
all: $(PROGRAM)
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
||||
|
@@ -13,7 +13,7 @@
|
||||
# under Linux.
|
||||
#
|
||||
|
||||
CC = gcc
|
||||
CXX = $(shell wx-config --cxx)
|
||||
|
||||
PROGRAM = minimal
|
||||
|
||||
@@ -24,12 +24,12 @@ OBJECTS = $(PROGRAM).o
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c `wx-config --cflags` -o $@ $<
|
||||
$(CXX) -c `wx-config --cxxflags` -o $@ $<
|
||||
|
||||
all: $(PROGRAM)
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
||||
|
@@ -169,8 +169,10 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
|
||||
m_splitter = new wxThinSplitterWindow(m_scrolledWindow, idSPLITTER_WINDOW, wxDefaultPosition,
|
||||
wxDefaultSize, wxSP_3DBORDER | wxCLIP_CHILDREN /* | wxSP_LIVE_UPDATE */);
|
||||
m_splitter->SetSashSize(2);
|
||||
m_tree = new TestTree(m_splitter, idTREE_CTRL, wxDefaultPosition,
|
||||
wxDefaultSize, wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER );
|
||||
|
||||
/* Note the wxTR_ROW_LINES style: draws horizontal lines between items */
|
||||
m_tree = new TestTree(m_splitter , idTREE_CTRL, wxDefaultPosition,
|
||||
wxDefaultSize, wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER | wxTR_ROW_LINES );
|
||||
m_valueWindow = new TestValueWindow(m_splitter, idVALUE_WINDOW, wxDefaultPosition,
|
||||
wxDefaultSize, wxNO_BORDER);
|
||||
m_splitter->SplitVertically(m_tree, m_valueWindow);
|
||||
@@ -230,7 +232,6 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
||||
IMPLEMENT_CLASS(TestTree, wxRemotelyScrolledTreeCtrl)
|
||||
|
||||
BEGIN_EVENT_TABLE(TestTree, wxRemotelyScrolledTreeCtrl)
|
||||
EVT_PAINT(TestTree::OnPaint)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
TestTree::TestTree(wxWindow* parent, wxWindowID id, const wxPoint& pt,
|
||||
@@ -273,39 +274,6 @@ TestTree::~TestTree()
|
||||
delete m_imageList;
|
||||
}
|
||||
|
||||
void TestTree::OnPaint(wxPaintEvent& event)
|
||||
{
|
||||
wxPaintDC dc(this);
|
||||
|
||||
wxTreeCtrl::OnPaint(event);
|
||||
|
||||
// Reset the device origin since it may have been set
|
||||
dc.SetDeviceOrigin(0, 0);
|
||||
|
||||
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
|
||||
dc.SetPen(pen);
|
||||
dc.SetBrush(* wxTRANSPARENT_BRUSH);
|
||||
|
||||
wxSize clientSize = GetClientSize();
|
||||
wxRect itemRect;
|
||||
int cy=0;
|
||||
wxTreeItemId h, lastH;
|
||||
for(h=GetFirstVisibleItem();h;h=GetNextVisible(h))
|
||||
{
|
||||
if (GetBoundingRect(h, itemRect))
|
||||
{
|
||||
cy = itemRect.GetTop();
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
lastH = h;
|
||||
}
|
||||
}
|
||||
if (GetBoundingRect(lastH, itemRect))
|
||||
{
|
||||
cy = itemRect.GetBottom();
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* TestValueWindow
|
||||
*/
|
||||
|
@@ -45,6 +45,7 @@ protected:
|
||||
wxRemotelyScrolledTreeCtrl* m_tree;
|
||||
wxThinSplitterWindow* m_splitter;
|
||||
wxSplitterScrolledWindow* m_scrolledWindow;
|
||||
//wxScrolledWindow* m_scrolledWindow;
|
||||
TestValueWindow* m_valueWindow;
|
||||
|
||||
private:
|
||||
@@ -78,7 +79,6 @@ public:
|
||||
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
|
||||
~TestTree();
|
||||
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
DECLARE_EVENT_TABLE()
|
||||
protected:
|
||||
wxImageList* m_imageList;
|
||||
|
@@ -12,8 +12,7 @@
|
||||
# on your system.
|
||||
#
|
||||
|
||||
CPP = gcc -g
|
||||
CC = gcc
|
||||
CXX = $(shell wx-config --cxx)
|
||||
WXCONFIG=../../../../wx-config
|
||||
WXINCLUDE=-I../../../../include -I../../../include
|
||||
WXLIB=-L../../../../lib -L../../../src/ogl
|
||||
@@ -21,19 +20,19 @@ WXLIB=-L../../../../lib -L../../../src/ogl
|
||||
OBJECTS=ogledit.o palette.o doc.o view.o
|
||||
|
||||
ogledit: $(OBJECTS)
|
||||
$(CPP) -o ogledit $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
|
||||
$(CXX) -o ogledit $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
|
||||
|
||||
ogledit.o: ogledit.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c ogledit.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c ogledit.cpp
|
||||
|
||||
palette.o: palette.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c palette.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c palette.cpp
|
||||
|
||||
doc.o: doc.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c doc.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c doc.cpp
|
||||
|
||||
view.o: view.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c view.cpp
|
||||
|
||||
clean:
|
||||
rm -f *.o ogledit
|
||||
|
@@ -12,8 +12,7 @@
|
||||
# on your system.
|
||||
#
|
||||
|
||||
CPP = gcc -g
|
||||
CC = gcc
|
||||
CXX = $(shell wx-config --cxx)
|
||||
WXCONFIG=../../../../wx-config
|
||||
WXINCLUDE=-I../../../../include -I../../../include
|
||||
WXLIB=-L../../../../lib -L../../../src/ogl
|
||||
@@ -21,37 +20,37 @@ WXLIB=-L../../../../lib -L../../../src/ogl
|
||||
OBJECTS=studio.o cspalette.o csprint.o dialogs.o doc.o mainfrm.o project.o shapes.o symbols.o view.o
|
||||
|
||||
studio: $(OBJECTS)
|
||||
$(CPP) -o studio $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
|
||||
$(CXX) -o studio $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
|
||||
|
||||
studio.o: studio.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c studio.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c studio.cpp
|
||||
|
||||
cspalette.o: cspalette.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c cspalette.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c cspalette.cpp
|
||||
|
||||
doc.o: doc.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c doc.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c doc.cpp
|
||||
|
||||
view.o: view.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c view.cpp
|
||||
|
||||
dialogs.o: dialogs.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c dialogs.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c dialogs.cpp
|
||||
|
||||
mainfrm.o: mainfrm.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c mainfrm.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c mainfrm.cpp
|
||||
|
||||
project.o: project.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c project.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c project.cpp
|
||||
|
||||
shapes.o: shapes.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c shapes.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c shapes.cpp
|
||||
|
||||
symbols.o: symbols.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c symbols.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c symbols.cpp
|
||||
|
||||
csprint.o: csprint.cpp
|
||||
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c csprint.cpp
|
||||
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c csprint.cpp
|
||||
|
||||
clean:
|
||||
rm -f *.o studio
|
||||
|
@@ -56,7 +56,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib png.lib zlib.lib jpeg.lib tiff.lib regex.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmsw.lib png.lib zlib.lib jpeg.lib tiff.lib regex.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug"
|
||||
|
||||
@@ -83,7 +83,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib regexd.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmswd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib regexd.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug DLL"
|
||||
|
||||
@@ -109,7 +109,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmsw232d.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "PlotVC - Win32 Release DLL"
|
||||
|
||||
@@ -136,7 +136,7 @@ BSC32=bscmake.exe
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmsw232.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
@@ -169,7 +169,7 @@ SOURCE=.\plot.cpp
|
||||
|
||||
SOURCE=.\plot.rc
|
||||
# ADD BASE RSC /l 0x809
|
||||
# ADD RSC /l 0x809 /i "..\..\..\include"
|
||||
# ADD RSC /l 0x809 /i "..\..\..\include" /i "..\..\..\contrib\include"
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# $Id$
|
||||
|
||||
CONTRIB_SUBDIRS=ogl mmedia stc xrc plot canvas animate fl #applet
|
||||
CONTRIB_SUBDIRS=canvas fl gizmos mmedia net ogl plot stc xrc #applet
|
||||
|
||||
all:
|
||||
@for d in $(CONTRIB_SUBDIRS); do (cd $$d && $(MAKE)); done
|
||||
|
@@ -371,7 +371,7 @@ void cbBarDragPlugin::UnstickFromPane( cbDockPane* pPane, wxPoint& mousePos )
|
||||
|
||||
if ( pPane->IsHorizontal() && fromLowerEdge )
|
||||
{
|
||||
bool fromLowerEdge = mousePos.y > bounds.y;
|
||||
// bool fromLowerEdge = mousePos.y > bounds.y;
|
||||
|
||||
mHintRect.y = wxMax( bounds.y + bounds.height + 1, mousePos.y - newHeight );
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
// Created: 30/11/98 (my 22th birthday :-)
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Aleksandras Gluchovas
|
||||
// Licence: wxWindows license
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
@@ -49,42 +49,42 @@ IMPLEMENT_DYNAMIC_CLASS( cbBarHintsPlugin, cbPluginBase )
|
||||
|
||||
BEGIN_EVENT_TABLE( cbBarHintsPlugin, cbPluginBase )
|
||||
|
||||
EVT_PL_SIZE_BAR_WND ( cbBarHintsPlugin::OnSizeBarWindow )
|
||||
EVT_PL_DRAW_BAR_DECOR( cbBarHintsPlugin::OnDrawBarDecorations )
|
||||
EVT_PL_SIZE_BAR_WND ( cbBarHintsPlugin::OnSizeBarWindow )
|
||||
EVT_PL_DRAW_BAR_DECOR( cbBarHintsPlugin::OnDrawBarDecorations )
|
||||
|
||||
EVT_PL_LEFT_DOWN( cbBarHintsPlugin::OnLeftDown )
|
||||
EVT_PL_LEFT_UP ( cbBarHintsPlugin::OnLeftUp )
|
||||
EVT_PL_MOTION ( cbBarHintsPlugin::OnMotion )
|
||||
EVT_PL_LEFT_DOWN( cbBarHintsPlugin::OnLeftDown )
|
||||
EVT_PL_LEFT_UP ( cbBarHintsPlugin::OnLeftUp )
|
||||
EVT_PL_MOTION ( cbBarHintsPlugin::OnMotion )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
cbBarHintsPlugin::cbBarHintsPlugin(void)
|
||||
|
||||
: mpPane( 0 ),
|
||||
mBtnPressed ( FALSE ),
|
||||
mCloseBoxOn ( TRUE ),
|
||||
mCollapseBoxOn( TRUE ),
|
||||
mGrooveCount ( 2 ),
|
||||
mHintGap ( 4 ),
|
||||
mXWeight ( 2 )
|
||||
: mpPane( 0 ),
|
||||
mBtnPressed ( FALSE ),
|
||||
mCloseBoxOn ( TRUE ),
|
||||
mCollapseBoxOn( TRUE ),
|
||||
mGrooveCount ( 2 ),
|
||||
mHintGap ( 4 ),
|
||||
mXWeight ( 2 )
|
||||
{
|
||||
mBoxes[CLOSE_BOX_IDX] = NULL;
|
||||
mBoxes[COLLAPSE_BOX_IDX] = NULL;
|
||||
mBoxes[CLOSE_BOX_IDX] = NULL;
|
||||
mBoxes[COLLAPSE_BOX_IDX] = NULL;
|
||||
}
|
||||
|
||||
cbBarHintsPlugin::cbBarHintsPlugin( wxFrameLayout* pLayout, int paneMask )
|
||||
|
||||
: cbPluginBase( pLayout, paneMask ),
|
||||
mpPane( 0 ),
|
||||
mBtnPressed ( FALSE ),
|
||||
mCloseBoxOn ( TRUE ),
|
||||
mCollapseBoxOn( TRUE ),
|
||||
mGrooveCount ( 2 ),
|
||||
mHintGap ( 5 ),
|
||||
mXWeight ( 2 )
|
||||
: cbPluginBase( pLayout, paneMask ),
|
||||
mpPane( 0 ),
|
||||
mBtnPressed ( FALSE ),
|
||||
mCloseBoxOn ( TRUE ),
|
||||
mCollapseBoxOn( TRUE ),
|
||||
mGrooveCount ( 2 ),
|
||||
mHintGap ( 5 ),
|
||||
mXWeight ( 2 )
|
||||
{
|
||||
mBoxes[CLOSE_BOX_IDX] = NULL;
|
||||
mBoxes[COLLAPSE_BOX_IDX] = NULL;
|
||||
mBoxes[CLOSE_BOX_IDX] = NULL;
|
||||
mBoxes[COLLAPSE_BOX_IDX] = NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -93,31 +93,31 @@ cbBarHintsPlugin::~cbBarHintsPlugin()
|
||||
if (mBoxes[CLOSE_BOX_IDX])
|
||||
delete mBoxes[CLOSE_BOX_IDX];
|
||||
|
||||
if (mBoxes[COLLAPSE_BOX_IDX])
|
||||
if (mBoxes[COLLAPSE_BOX_IDX])
|
||||
delete mBoxes[COLLAPSE_BOX_IDX];
|
||||
} // cbBarHintsPlugin destructor
|
||||
|
||||
|
||||
void cbBarHintsPlugin::SetGrooveCount( int nGrooves )
|
||||
{
|
||||
mGrooveCount = nGrooves;
|
||||
mGrooveCount = nGrooves;
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::CreateBoxes()
|
||||
{
|
||||
cbCloseBox* box1 = new cbCloseBox();
|
||||
cbCollapseBox* box2 = new cbCollapseBox();
|
||||
cbCloseBox* box1 = new cbCloseBox();
|
||||
cbCollapseBox* box2 = new cbCollapseBox();
|
||||
|
||||
mBoxes[CLOSE_BOX_IDX] = box1;
|
||||
mBoxes[COLLAPSE_BOX_IDX] = box2;
|
||||
mBoxes[CLOSE_BOX_IDX] = box1;
|
||||
mBoxes[COLLAPSE_BOX_IDX] = box2;
|
||||
|
||||
int i;
|
||||
for( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->mpLayout = mpLayout;
|
||||
mBoxes[i]->mpPlugin = this;
|
||||
mBoxes[i]->mpWnd = NULL;
|
||||
}
|
||||
int i;
|
||||
for ( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->mpLayout = mpLayout;
|
||||
mBoxes[i]->mpPlugin = this;
|
||||
mBoxes[i]->mpWnd = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -130,431 +130,434 @@ void cbBarHintsPlugin::DrawCloseBox( wxDC& dc, const wxPoint& pos, bool pressed
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::DrawCollapseBox( wxDC& dc, const wxPoint& pos,
|
||||
bool atLeft, bool disabled, bool pressed )
|
||||
bool atLeft, bool disabled, bool pressed )
|
||||
{
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::DrawGrooves( wxDC& dc, const wxPoint& pos, int length )
|
||||
{
|
||||
int ofs = 0;
|
||||
int ofs = 0;
|
||||
|
||||
int i;
|
||||
for( i = 0; i != mGrooveCount; ++i, ofs += ( GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP ) )
|
||||
int i;
|
||||
for ( i = 0; i != mGrooveCount; ++i, ofs += ( GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP ) )
|
||||
{
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
dc.SetPen( mpLayout->mLightPen );
|
||||
dc.DrawLine( pos.x + ofs, pos.y, pos.x + ofs, pos.y + length - 1 );
|
||||
dc.DrawPoint( pos.x + ofs + 1, pos.y );
|
||||
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
dc.SetPen( mpLayout->mLightPen );
|
||||
dc.DrawLine( pos.x + ofs, pos.y, pos.x + ofs, pos.y + length - 1 );
|
||||
dc.DrawPoint( pos.x + ofs + 1, pos.y );
|
||||
dc.SetPen( mpLayout->mDarkPen );
|
||||
dc.DrawLine( pos.x + ofs + 2, pos.y, pos.x + ofs + 2, pos.y + length );
|
||||
dc.DrawPoint( pos.x + ofs + 1, pos.y + length - 1 );
|
||||
dc.DrawPoint( pos.x + ofs, pos.y + length - 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
dc.SetPen( mpLayout->mLightPen );
|
||||
dc.DrawLine( pos.x, pos.y + ofs, pos.x + length - 1, pos.y + ofs );
|
||||
dc.DrawPoint( pos.x, pos.y + ofs + 1 );
|
||||
|
||||
dc.SetPen( mpLayout->mDarkPen );
|
||||
dc.DrawLine( pos.x + ofs + 2, pos.y, pos.x + ofs + 2, pos.y + length );
|
||||
dc.DrawPoint( pos.x + ofs + 1, pos.y + length - 1 );
|
||||
dc.DrawPoint( pos.x + ofs, pos.y + length - 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
dc.SetPen( mpLayout->mLightPen );
|
||||
dc.DrawLine( pos.x, pos.y + ofs, pos.x + length - 1, pos.y + ofs );
|
||||
dc.DrawPoint( pos.x, pos.y + ofs + 1 );
|
||||
|
||||
dc.SetPen( mpLayout->mDarkPen );
|
||||
dc.DrawLine( pos.x, pos.y + ofs + 2, pos.x + length, pos.y + ofs + 2 );
|
||||
dc.DrawPoint( pos.x + length - 1, pos.y + ofs + 1 );
|
||||
dc.DrawPoint( pos.x + length - 1, pos.y + ofs );
|
||||
}
|
||||
dc.SetPen( mpLayout->mDarkPen );
|
||||
dc.DrawLine( pos.x, pos.y + ofs + 2, pos.x + length, pos.y + ofs + 2 );
|
||||
dc.DrawPoint( pos.x + length - 1, pos.y + ofs + 1 );
|
||||
dc.DrawPoint( pos.x + length - 1, pos.y + ofs );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::ExcludeHints( wxRect& rect, cbBarInfo& info )
|
||||
{
|
||||
int boxHeight = BTN_BOX_HEIGHT;
|
||||
int boxHeight = BTN_BOX_HEIGHT;
|
||||
|
||||
// collapse and close box are not placed on fixed bars
|
||||
// collapse and close box are not placed on fixed bars
|
||||
|
||||
if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) )
|
||||
if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) )
|
||||
|
||||
boxHeight = 0;
|
||||
boxHeight = 0;
|
||||
|
||||
int height = wxMax( mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP)
|
||||
- GROOVE_TO_GROOVE_GAP,
|
||||
boxHeight
|
||||
);
|
||||
int height = wxMax( mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP)
|
||||
- GROOVE_TO_GROOVE_GAP,
|
||||
boxHeight
|
||||
);
|
||||
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
rect.x += ( mHintGap*2 + height );
|
||||
rect.width -= (height + 2*mHintGap);
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
rect.x += ( mHintGap*2 + height );
|
||||
rect.width -= (height + 2*mHintGap);
|
||||
|
||||
rect.x -= info.mDimInfo.mHorizGap + 2;
|
||||
rect.width += info.mDimInfo.mHorizGap + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
rect.y += (mHintGap*2 + height);
|
||||
rect.height -= (height + 2*mHintGap);
|
||||
rect.x -= info.mDimInfo.mHorizGap + 2;
|
||||
rect.width += info.mDimInfo.mHorizGap + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
rect.y += (mHintGap*2 + height);
|
||||
rect.height -= (height + 2*mHintGap);
|
||||
|
||||
rect.y -= info.mDimInfo.mVertGap + 2;
|
||||
rect.height += info.mDimInfo.mVertGap + 2;
|
||||
}
|
||||
rect.y -= info.mDimInfo.mVertGap + 2;
|
||||
rect.height += info.mDimInfo.mVertGap + 2;
|
||||
}
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::DoDrawHint( wxDC& dc, wxRect& rect,
|
||||
int pos, int boxOfs, int grooveOfs,
|
||||
bool isFixed )
|
||||
int pos, int boxOfs, int grooveOfs,
|
||||
bool isFixed )
|
||||
{
|
||||
if ( !isFixed )
|
||||
{
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
if ( !isFixed )
|
||||
{
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
if ( mCollapseBoxOn )
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
if ( mCollapseBoxOn )
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
}
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
}
|
||||
|
||||
if ( mpPane->IsHorizontal() )
|
||||
if ( mpPane->IsHorizontal() )
|
||||
|
||||
DrawGrooves( dc, wxPoint( rect.x + mHintGap + grooveOfs, pos ),
|
||||
rect.height - (pos - rect.y) - mHintGap );
|
||||
else
|
||||
DrawGrooves( dc, wxPoint( rect.x + mHintGap, rect.y + mHintGap + grooveOfs ),
|
||||
(pos - rect.x) - mHintGap );
|
||||
DrawGrooves( dc, wxPoint( rect.x + mHintGap + grooveOfs, pos ),
|
||||
rect.height - (pos - rect.y) - mHintGap );
|
||||
else
|
||||
DrawGrooves( dc, wxPoint( rect.x + mHintGap, rect.y + mHintGap + grooveOfs ),
|
||||
(pos - rect.x) - mHintGap );
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::GetHintsLayout( wxRect& rect, cbBarInfo& info,
|
||||
int& boxOfs, int& grooveOfs, int& pos )
|
||||
int& boxOfs, int& grooveOfs, int& pos )
|
||||
{
|
||||
int boxHeight = BTN_BOX_HEIGHT;
|
||||
int boxWidth = BTN_BOX_WIDTH + BOX_TO_GROOVE_GAP + BTN_BOX_WIDTH;
|
||||
int boxHeight = BTN_BOX_HEIGHT;
|
||||
// int boxWidth = BTN_BOX_WIDTH + BOX_TO_GROOVE_GAP + BTN_BOX_WIDTH;
|
||||
|
||||
// collapse and close box are not placed on fixed bars
|
||||
// collapse and close box are not placed on fixed bars
|
||||
|
||||
if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) )
|
||||
{
|
||||
boxHeight = 0;
|
||||
boxWidth = 0;
|
||||
}
|
||||
else
|
||||
if ( !mCloseBoxOn || !mCollapseBoxOn )
|
||||
if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) )
|
||||
{
|
||||
boxHeight = 0;
|
||||
// boxWidth = 0;
|
||||
}
|
||||
/*
|
||||
else
|
||||
if ( !mCloseBoxOn || !mCollapseBoxOn )
|
||||
|
||||
boxWidth = BTN_BOX_WIDTH;
|
||||
boxWidth = BTN_BOX_WIDTH;
|
||||
*/
|
||||
int grooveHeight = mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP)
|
||||
- GROOVE_TO_GROOVE_GAP;
|
||||
|
||||
int grooveHeight = mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP)
|
||||
- GROOVE_TO_GROOVE_GAP;
|
||||
int height = wxMax( grooveHeight, boxHeight );
|
||||
|
||||
int height = wxMax( grooveHeight, boxHeight );
|
||||
// center boxs and groves with respect to each other
|
||||
|
||||
// center boxs and groves with respect to each other
|
||||
boxOfs = ( height - boxHeight ) / 2;
|
||||
grooveOfs = ( height - grooveHeight ) / 2;
|
||||
|
||||
boxOfs = ( height - boxHeight ) / 2;
|
||||
grooveOfs = ( height - grooveHeight ) / 2;
|
||||
pos = ( mpPane->IsHorizontal() ) ? rect.y + mHintGap
|
||||
: rect.x + rect.width - mHintGap;
|
||||
|
||||
pos = ( mpPane->IsHorizontal() ) ? rect.y + mHintGap
|
||||
: rect.x + rect.width - mHintGap;
|
||||
// setup positions for boxes
|
||||
|
||||
// setup positions for boxes
|
||||
if ( !info.IsFixed() )
|
||||
{
|
||||
// what direction "collapse-triangle" should look at?
|
||||
|
||||
if ( !info.IsFixed() )
|
||||
{
|
||||
// what direction "collapse-triangle" should look at?
|
||||
bool& isAtLeft = ((cbCollapseBox*)(mBoxes[COLLAPSE_BOX_IDX]))->mIsAtLeft;
|
||||
|
||||
bool& isAtLeft = ((cbCollapseBox*)(mBoxes[COLLAPSE_BOX_IDX]))->mIsAtLeft;
|
||||
isAtLeft= info.mBounds.x <= mpPane->mPaneWidth - ( info.mBounds.x + info.mBounds.width );
|
||||
|
||||
isAtLeft= info.mBounds.x <= mpPane->mPaneWidth - ( info.mBounds.x + info.mBounds.width );
|
||||
if ( info.IsExpanded() )
|
||||
{
|
||||
isAtLeft = FALSE;
|
||||
|
||||
if ( info.IsExpanded() )
|
||||
{
|
||||
isAtLeft = FALSE;
|
||||
cbBarInfo* pCur = info.mpPrev;
|
||||
|
||||
cbBarInfo* pCur = info.mpPrev;
|
||||
while( pCur )
|
||||
{
|
||||
if ( !pCur->IsFixed() )
|
||||
{
|
||||
isAtLeft = TRUE; break;
|
||||
}
|
||||
|
||||
while( pCur )
|
||||
{
|
||||
if ( !pCur->IsFixed() )
|
||||
{
|
||||
isAtLeft = TRUE; break;
|
||||
}
|
||||
pCur = pCur->mpPrev;
|
||||
}
|
||||
}
|
||||
|
||||
pCur = pCur->mpPrev;
|
||||
}
|
||||
}
|
||||
// collapse/expand works only when more not-fixed bars are present in the same row
|
||||
|
||||
// collapse/expand works only when more not-fixed bars are present in the same row
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Enable( info.mpRow->mNotFixedBarsCnt > 1 );
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Enable( info.mpRow->mNotFixedBarsCnt > 1 );
|
||||
int i;
|
||||
for ( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->mpPane = mpPane;
|
||||
}
|
||||
|
||||
int i;
|
||||
for( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos );
|
||||
|
||||
mBoxes[i]->mpPane = mpPane;
|
||||
pos += BTN_BOX_HEIGHT;
|
||||
}
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) pos += BOX_T_BOX_GAP;
|
||||
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos );
|
||||
mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos );
|
||||
|
||||
pos += BTN_BOX_HEIGHT;
|
||||
}
|
||||
pos += BTN_BOX_HEIGHT;
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) pos += BOX_T_BOX_GAP;
|
||||
pos += BOX_TO_GROOVE_GAP;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
pos -= BTN_BOX_WIDTH;
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos );
|
||||
mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( pos , rect.y + mHintGap + boxOfs );
|
||||
}
|
||||
|
||||
pos += BTN_BOX_HEIGHT;
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) pos -= BOX_T_BOX_GAP;
|
||||
|
||||
pos += BOX_TO_GROOVE_GAP;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
pos -= BTN_BOX_WIDTH;
|
||||
pos -= BTN_BOX_WIDTH;
|
||||
|
||||
mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( pos , rect.y + mHintGap + boxOfs );
|
||||
}
|
||||
mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( pos, rect.y + mHintGap + boxOfs );
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) pos -= BOX_T_BOX_GAP;
|
||||
|
||||
pos -= BTN_BOX_WIDTH;
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( pos, rect.y + mHintGap + boxOfs );
|
||||
|
||||
pos -= BOX_TO_GROOVE_GAP;
|
||||
}
|
||||
}
|
||||
}
|
||||
pos -= BOX_TO_GROOVE_GAP;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static inline bool is_in_box( const wxPoint& rectPos, const wxPoint& mousePos )
|
||||
{
|
||||
return ( mousePos.x >= rectPos.x &&
|
||||
mousePos.y >= rectPos.y &&
|
||||
mousePos.x < rectPos.x + BTN_BOX_WIDTH &&
|
||||
mousePos.y < rectPos.y + BTN_BOX_HEIGHT );
|
||||
return ( mousePos.x >= rectPos.x &&
|
||||
mousePos.y >= rectPos.y &&
|
||||
mousePos.x < rectPos.x + BTN_BOX_WIDTH &&
|
||||
mousePos.y < rectPos.y + BTN_BOX_HEIGHT );
|
||||
}
|
||||
|
||||
int cbBarHintsPlugin::HitTestHints( cbBarInfo& info, const wxPoint& pos )
|
||||
{
|
||||
wxPoint inPane = pos;
|
||||
mpPane->PaneToFrame( &inPane.x, &inPane.y );
|
||||
wxPoint inPane = pos;
|
||||
mpPane->PaneToFrame( &inPane.x, &inPane.y );
|
||||
|
||||
wxRect& rect = info.mBoundsInParent;
|
||||
wxRect& rect = info.mBoundsInParent;
|
||||
|
||||
if ( info.IsFixed() ) return FALSE;
|
||||
if ( info.IsFixed() ) return FALSE;
|
||||
|
||||
int boxOfs, grooveOfs, coord;
|
||||
int boxOfs, grooveOfs, coord;
|
||||
|
||||
GetHintsLayout( rect, info, boxOfs, grooveOfs, coord );
|
||||
GetHintsLayout( rect, info, boxOfs, grooveOfs, coord );
|
||||
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) )
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) )
|
||||
|
||||
return CLOSE_BOX_HITTED;
|
||||
return CLOSE_BOX_HITTED;
|
||||
|
||||
coord += BTN_BOX_HEIGHT;
|
||||
}
|
||||
coord += BTN_BOX_HEIGHT;
|
||||
}
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) coord += BOX_T_BOX_GAP;
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) coord += BOX_T_BOX_GAP;
|
||||
|
||||
if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) )
|
||||
if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) )
|
||||
|
||||
return COLLAPSE_BOX_HITTED;
|
||||
return COLLAPSE_BOX_HITTED;
|
||||
|
||||
coord += BTN_BOX_HEIGHT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
coord -= BTN_BOX_WIDTH;
|
||||
coord += BTN_BOX_HEIGHT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
{
|
||||
coord -= BTN_BOX_WIDTH;
|
||||
|
||||
if ( is_in_box( wxPoint( coord , rect.y + mHintGap + boxOfs ), inPane ) )
|
||||
if ( is_in_box( wxPoint( coord , rect.y + mHintGap + boxOfs ), inPane ) )
|
||||
|
||||
return CLOSE_BOX_HITTED;
|
||||
}
|
||||
return CLOSE_BOX_HITTED;
|
||||
}
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) coord -= BOX_T_BOX_GAP;
|
||||
coord -= BTN_BOX_WIDTH;
|
||||
if ( mCollapseBoxOn )
|
||||
{
|
||||
if ( mCloseBoxOn ) coord -= BOX_T_BOX_GAP;
|
||||
coord -= BTN_BOX_WIDTH;
|
||||
|
||||
if ( is_in_box( wxPoint( coord, rect.y + mHintGap + boxOfs ), inPane ) )
|
||||
if ( is_in_box( wxPoint( coord, rect.y + mHintGap + boxOfs ), inPane ) )
|
||||
|
||||
return COLLAPSE_BOX_HITTED;
|
||||
}
|
||||
}
|
||||
return COLLAPSE_BOX_HITTED;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// handlers for plugin-events
|
||||
|
||||
void cbBarHintsPlugin::OnSizeBarWindow( cbSizeBarWndEvent& event )
|
||||
{
|
||||
wxRect& rect = event.mBoundsInParent;
|
||||
mpPane = event.mpPane;
|
||||
wxRect& rect = event.mBoundsInParent;
|
||||
mpPane = event.mpPane;
|
||||
|
||||
ExcludeHints( rect, *event.mpBar );
|
||||
ExcludeHints( rect, *event.mpBar );
|
||||
|
||||
event.Skip(); // pass event to the next plugin in the chain
|
||||
event.Skip(); // pass event to the next plugin in the chain
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::OnDrawBarDecorations( cbDrawBarDecorEvent& event )
|
||||
{
|
||||
wxRect& rect = event.mBoundsInParent;
|
||||
mpPane = event.mpPane;
|
||||
wxRect& rect = event.mBoundsInParent;
|
||||
mpPane = event.mpPane;
|
||||
|
||||
int boxOfs, grooveOfs, pos;
|
||||
int boxOfs, grooveOfs, pos;
|
||||
|
||||
GetHintsLayout( rect, *event.mpBar, boxOfs, grooveOfs, pos );
|
||||
GetHintsLayout( rect, *event.mpBar, boxOfs, grooveOfs, pos );
|
||||
|
||||
DoDrawHint( *event.mpDc, rect, pos, boxOfs, grooveOfs, event.mpBar->IsFixed() );
|
||||
DoDrawHint( *event.mpDc, rect, pos, boxOfs, grooveOfs, event.mpBar->IsFixed() );
|
||||
|
||||
// let other plugins add on their decorations
|
||||
// let other plugins add on their decorations
|
||||
|
||||
event.Skip();
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::OnLeftDown( cbLeftDownEvent& event )
|
||||
{
|
||||
mpPane = event.mpPane;
|
||||
mpPane = event.mpPane;
|
||||
wxPoint inFrame = event.mPos;
|
||||
|
||||
wxPoint inFrame = event.mPos;
|
||||
mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
|
||||
mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
|
||||
|
||||
wxBarIterator iter( mpPane->GetRowList() );
|
||||
wxBarIterator iter( mpPane->GetRowList() );
|
||||
|
||||
mpClickedBar = NULL;
|
||||
mpClickedBar = NULL;
|
||||
|
||||
while ( iter.Next() )
|
||||
{
|
||||
cbBarInfo& bar = iter.BarInfo();
|
||||
while ( iter.Next() )
|
||||
{
|
||||
cbBarInfo& bar = iter.BarInfo();
|
||||
|
||||
int boxOfs, grooveOfs, pos;
|
||||
int boxOfs, grooveOfs, pos;
|
||||
|
||||
GetHintsLayout( bar.mBoundsInParent, bar, boxOfs, grooveOfs, pos );
|
||||
GetHintsLayout( bar.mBoundsInParent, bar, boxOfs, grooveOfs, pos );
|
||||
|
||||
if ( !bar.IsFixed() )
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->OnLeftDown( inFrame );
|
||||
if ( !bar.IsFixed() )
|
||||
{
|
||||
int i;
|
||||
for ( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->OnLeftDown( inFrame );
|
||||
|
||||
if ( mBoxes[i]->mPressed )
|
||||
{
|
||||
mBtnPressed = TRUE;
|
||||
mpClickedBar = &bar;
|
||||
if ( mBoxes[i]->mPressed )
|
||||
{
|
||||
mBtnPressed = TRUE;
|
||||
mpClickedBar = &bar;
|
||||
|
||||
return; // event handled
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return; // event handled
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
event.Skip();
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::OnLeftUp( cbLeftUpEvent& event )
|
||||
{
|
||||
if ( mBtnPressed )
|
||||
{
|
||||
wxPoint inFrame = event.mPos;
|
||||
mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
|
||||
if ( mBtnPressed )
|
||||
{
|
||||
wxPoint inFrame = event.mPos;
|
||||
mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
|
||||
|
||||
int boxOfs, grooveOfs, pos;
|
||||
int boxOfs, grooveOfs, pos;
|
||||
|
||||
GetHintsLayout( mpClickedBar->mBoundsInParent, *mpClickedBar, boxOfs, grooveOfs, pos );
|
||||
GetHintsLayout( mpClickedBar->mBoundsInParent, *mpClickedBar, boxOfs, grooveOfs, pos );
|
||||
|
||||
int result = HitTestHints( *mpClickedBar, event.mPos );
|
||||
int result = HitTestHints( *mpClickedBar, event.mPos );
|
||||
|
||||
int i;
|
||||
for( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->OnLeftUp( inFrame );
|
||||
for ( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->OnLeftUp( inFrame );
|
||||
|
||||
if ( mBoxes[i]->WasClicked() )
|
||||
{
|
||||
if ( i == 0 )
|
||||
if ( mBoxes[i]->WasClicked() )
|
||||
{
|
||||
if ( i == 0 )
|
||||
{
|
||||
mpLayout->SetBarState( mpClickedBar, wxCBAR_HIDDEN, TRUE );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mpClickedBar->IsExpanded() )
|
||||
mpPane->ContractBar( mpClickedBar );
|
||||
else
|
||||
mpPane->ExpandBar( mpClickedBar );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mpLayout->SetBarState( mpClickedBar, wxCBAR_HIDDEN, TRUE );
|
||||
else
|
||||
{
|
||||
if ( mpClickedBar->IsExpanded() )
|
||||
|
||||
mpPane->ContractBar( mpClickedBar );
|
||||
else
|
||||
mpPane->ExpandBar( mpClickedBar );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mBtnPressed = FALSE;
|
||||
return;
|
||||
}
|
||||
else
|
||||
event.Skip();
|
||||
mBtnPressed = FALSE;
|
||||
return;
|
||||
}
|
||||
else
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::OnMotion( cbMotionEvent& event )
|
||||
{
|
||||
if ( mBtnPressed )
|
||||
{
|
||||
wxPoint inFrame = event.mPos;
|
||||
mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
|
||||
if ( mBtnPressed )
|
||||
{
|
||||
wxPoint inFrame = event.mPos;
|
||||
mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
|
||||
|
||||
mpPane = event.mpPane;
|
||||
mpPane = event.mpPane;
|
||||
|
||||
int i;
|
||||
for( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
|
||||
mBoxes[i]->OnMotion( inFrame );
|
||||
}
|
||||
else
|
||||
event.Skip();
|
||||
int i;
|
||||
for ( i = 0; i != BOXES_IN_HINT; ++i )
|
||||
{
|
||||
mBoxes[i]->OnMotion( inFrame );
|
||||
}
|
||||
}
|
||||
else
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void cbBarHintsPlugin::OnInitPlugin()
|
||||
{
|
||||
cbPluginBase::OnInitPlugin();
|
||||
cbPluginBase::OnInitPlugin();
|
||||
|
||||
cbDockPane** panes = mpLayout->GetPanesArray();
|
||||
cbDockPane** panes = mpLayout->GetPanesArray();
|
||||
|
||||
int i;
|
||||
for( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
if ( panes[i]->MatchesMask( mPaneMask ) )
|
||||
{
|
||||
panes[i]->mProps.mMinCBarDim.x = 25;
|
||||
panes[i]->mProps.mMinCBarDim.y = 16;
|
||||
}
|
||||
}
|
||||
CreateBoxes();
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
if ( panes[i]->MatchesMask( mPaneMask ) )
|
||||
{
|
||||
panes[i]->mProps.mMinCBarDim.x = 25;
|
||||
panes[i]->mProps.mMinCBarDim.y = 16;
|
||||
}
|
||||
}
|
||||
CreateBoxes();
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@
|
||||
// Created: 02/01/99
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Aleksandras Gluchovas
|
||||
// Licence: wxWindows license
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
@@ -31,86 +31,86 @@
|
||||
|
||||
BEGIN_EVENT_TABLE( wxFrameView, wxEvtHandler )
|
||||
|
||||
EVT_IDLE( wxFrameView::OnIdle )
|
||||
EVT_IDLE( wxFrameView::OnIdle )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
void wxFrameView::OnIdle( wxIdleEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
event.Skip();
|
||||
|
||||
if ( mDoToolUpdates )
|
||||
{
|
||||
int o = 0; //glt
|
||||
++o;
|
||||
if ( mDoToolUpdates )
|
||||
{
|
||||
int o = 0; //glt
|
||||
++o;
|
||||
|
||||
// TBD::
|
||||
}
|
||||
// TBD::
|
||||
}
|
||||
}
|
||||
|
||||
/*** public methods ***/
|
||||
|
||||
wxFrameView::wxFrameView()
|
||||
|
||||
: mpLayout( NULL ),
|
||||
mpFrameMgr( NULL )
|
||||
: mpLayout( NULL ),
|
||||
mpFrameMgr( NULL )
|
||||
{}
|
||||
|
||||
wxFrameView::~wxFrameView()
|
||||
{
|
||||
if ( mpLayout ) delete mpLayout;
|
||||
if ( mpLayout ) delete mpLayout;
|
||||
}
|
||||
|
||||
wxFrame* wxFrameView::GetParentFrame()
|
||||
{
|
||||
return mpFrameMgr->GetParentFrame();
|
||||
return mpFrameMgr->GetParentFrame();
|
||||
}
|
||||
|
||||
wxWindow* wxFrameView::GetClientWindow()
|
||||
{
|
||||
return mpFrameMgr->GetClientWindow();
|
||||
return mpFrameMgr->GetClientWindow();
|
||||
}
|
||||
|
||||
void wxFrameView::Activate()
|
||||
{
|
||||
mpFrameMgr->ActivateView( this );
|
||||
mpFrameMgr->ActivateView( this );
|
||||
}
|
||||
|
||||
void wxFrameView::Deactivate()
|
||||
{
|
||||
mpFrameMgr->DeactivateCurrentView();
|
||||
mpFrameMgr->DeactivateCurrentView();
|
||||
}
|
||||
|
||||
void wxFrameView::CreateLayout()
|
||||
{
|
||||
mpLayout = new wxFrameLayout( GetParentFrame(), mpFrameMgr->GetClientWindow(), FALSE );
|
||||
mpLayout = new wxFrameLayout( GetParentFrame(), mpFrameMgr->GetClientWindow(), FALSE );
|
||||
}
|
||||
|
||||
wxFrameLayout* wxFrameView::GetLayout()
|
||||
{
|
||||
return mpLayout;
|
||||
return mpLayout;
|
||||
}
|
||||
|
||||
void wxFrameView::SetToolUpdates( bool doToolUpdates )
|
||||
{
|
||||
mDoToolUpdates = doToolUpdates;
|
||||
mDoToolUpdates = doToolUpdates;
|
||||
}
|
||||
|
||||
void wxFrameView::SetLayout( wxFrameLayout* pLayout )
|
||||
{
|
||||
if ( mpLayout ) delete mpLayout;
|
||||
if ( mpLayout ) delete mpLayout;
|
||||
|
||||
mpLayout = pLayout;
|
||||
mpLayout = pLayout;
|
||||
}
|
||||
|
||||
wxFrameManager& wxFrameView::GetFrameManager()
|
||||
{
|
||||
return *mpFrameMgr;
|
||||
return *mpFrameMgr;
|
||||
}
|
||||
|
||||
void wxFrameView::RegisterMenu( const wxString& topMenuName )
|
||||
{
|
||||
mTopMenus.Add( topMenuName );
|
||||
mTopMenus.Add( topMenuName );
|
||||
}
|
||||
|
||||
#if 0
|
||||
@@ -121,32 +121,32 @@ void wxFrameView::RegisterMenu( const wxString& topMenuName )
|
||||
|
||||
class wxFrameViewSerializer : public wxEvtHandlerSerializer
|
||||
{
|
||||
DECLARE_SERIALIZER_CLASS( wxFrameViewSerializer );
|
||||
DECLARE_SERIALIZER_CLASS( wxFrameViewSerializer );
|
||||
|
||||
static void Serialize( wxObject* pObj, wxObjectStorage& store );
|
||||
static void Serialize( wxObject* pObj, wxObjectStorage& store );
|
||||
};
|
||||
|
||||
IMPLEMENT_SERIALIZER_CLASS( wxFrameView,
|
||||
wxFrameViewSerializer,
|
||||
wxFrameViewSerializer::Serialize,
|
||||
NO_CLASS_INIT )
|
||||
wxFrameViewSerializer,
|
||||
wxFrameViewSerializer::Serialize,
|
||||
NO_CLASS_INIT )
|
||||
|
||||
void wxFrameViewSerializer::Serialize( wxObject* pObj, wxObjectStorage& store )
|
||||
{
|
||||
// wxFrameViewSerializer is a kind of wxEvtHandler - peform serialization of
|
||||
// the base class first
|
||||
// wxFrameViewSerializer is a kind of wxEvtHandler - peform serialization of
|
||||
// the base class first
|
||||
|
||||
info.SerializeInherited( pObj, store );
|
||||
info.SerializeInherited( pObj, store );
|
||||
|
||||
wxFrameView* pView = (wxFrameView*)pObj;
|
||||
wxFrameView* pView = (wxFrameView*)pObj;
|
||||
|
||||
store.XchgObjPtr( (wxObject**) &pView->mpFrameMgr );
|
||||
store.XchgObjPtr( (wxObject**) &pView->mpLayout );
|
||||
store.XchgBool ( pView->mDoToolUpdates );
|
||||
store.XchgObjPtr( (wxObject**) &pView->mpFrameMgr );
|
||||
store.XchgObjPtr( (wxObject**) &pView->mpLayout );
|
||||
store.XchgBool ( pView->mDoToolUpdates );
|
||||
|
||||
// serialize members in derived classes
|
||||
// serialize members in derived classes
|
||||
|
||||
pView->OnSerialize( store );
|
||||
pView->OnSerialize( store );
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -156,263 +156,262 @@ void wxFrameViewSerializer::Serialize( wxObject* pObj, wxObjectStorage& store )
|
||||
void wxFrameManager::DoSerialize( wxObjectStorage& store )
|
||||
{
|
||||
#if 0
|
||||
store.AddInitialRef( mpFrameWnd );
|
||||
store.AddInitialRef( this );
|
||||
if ( mpClientWnd ) store.AddInitialRef( mpClientWnd );
|
||||
store.AddInitialRef( mpFrameWnd );
|
||||
store.AddInitialRef( this );
|
||||
if ( mpClientWnd ) store.AddInitialRef( mpClientWnd );
|
||||
|
||||
store.XchgObj( (wxObject*) &mViews );
|
||||
store.XchgInt( mActiveViewNo );
|
||||
store.XchgObj( (wxObject*) &mViews );
|
||||
store.XchgInt( mActiveViewNo );
|
||||
|
||||
store.Finalize(); // finish serialization
|
||||
store.Finalize(); // finish serialization
|
||||
#endif
|
||||
}
|
||||
|
||||
void wxFrameManager::DestroyViews()
|
||||
{
|
||||
DeactivateCurrentView();
|
||||
DeactivateCurrentView();
|
||||
|
||||
wxNode* pNode = mViews.First();
|
||||
wxNode* pNode = mViews.First();
|
||||
|
||||
while( pNode )
|
||||
{
|
||||
delete (wxFrameView*)pNode->Data();
|
||||
while ( pNode )
|
||||
{
|
||||
delete (wxFrameView*)pNode->Data();
|
||||
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
|
||||
if ( mActiveViewNo != -1 && GetParentFrame() )
|
||||
if ( mActiveViewNo != -1 && GetParentFrame() )
|
||||
|
||||
GetParentFrame()->SetNextHandler( NULL );
|
||||
GetParentFrame()->SetNextHandler( NULL );
|
||||
}
|
||||
|
||||
int wxFrameManager::GetViewNo( wxFrameView* pView )
|
||||
{
|
||||
wxNode* pNode = mViews.First();
|
||||
int n = 0;
|
||||
wxNode* pNode = mViews.First();
|
||||
int n = 0;
|
||||
|
||||
while( pNode )
|
||||
{
|
||||
if ( (wxFrameView*)pNode->Data() == pView )
|
||||
while ( pNode )
|
||||
{
|
||||
if ( (wxFrameView*)pNode->Data() == pView )
|
||||
|
||||
return n;
|
||||
return n;
|
||||
|
||||
++n;
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
++n;
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
void wxFrameManager::EnableMenusForView( wxFrameView* pView, bool enable )
|
||||
{
|
||||
wxMenuBar* pMenuBar = GetParentFrame()->GetMenuBar();
|
||||
int count = pMenuBar->GetMenuCount();
|
||||
wxMenuBar* pMenuBar = GetParentFrame()->GetMenuBar();
|
||||
int count = pMenuBar->GetMenuCount();
|
||||
|
||||
if ( !pMenuBar ) return;
|
||||
if ( !pMenuBar )
|
||||
return;
|
||||
|
||||
wxStringListNode* pNode = pView->mTopMenus.GetFirst();
|
||||
wxStringListNode* pNode = pView->mTopMenus.GetFirst();
|
||||
|
||||
while( pNode )
|
||||
{
|
||||
for( int i = 0; i != count; ++i )
|
||||
{
|
||||
if ( pMenuBar->GetMenu(i)->GetTitle() == pNode->GetData() )
|
||||
int i;
|
||||
while ( pNode )
|
||||
{
|
||||
for ( i = 0; i != count; ++i )
|
||||
{
|
||||
if ( pMenuBar->GetMenu(i)->GetTitle() == pNode->GetData() )
|
||||
pMenuBar->EnableTop( i, enable );
|
||||
}
|
||||
|
||||
pMenuBar->EnableTop( i, enable );
|
||||
}
|
||||
|
||||
pNode = pNode->GetNext();
|
||||
}
|
||||
pNode = pNode->GetNext();
|
||||
}
|
||||
}
|
||||
|
||||
void wxFrameManager::SyncAllMenus()
|
||||
{
|
||||
wxNode* pNode = mViews.First();
|
||||
int i = 0;
|
||||
wxNode* pNode = mViews.First();
|
||||
int i = 0;
|
||||
|
||||
while( pNode )
|
||||
{
|
||||
if ( i != mActiveViewNo )
|
||||
while ( pNode )
|
||||
{
|
||||
if ( i != mActiveViewNo )
|
||||
|
||||
EnableMenusForView( (wxFrameView*)pNode->GetData(), FALSE );
|
||||
EnableMenusForView( (wxFrameView*)pNode->GetData(), FALSE );
|
||||
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
|
||||
EnableMenusForView( GetView( mActiveViewNo ), TRUE );
|
||||
EnableMenusForView( GetView( mActiveViewNo ), TRUE );
|
||||
}
|
||||
|
||||
/*** public methods ***/
|
||||
|
||||
wxFrameManager::wxFrameManager()
|
||||
|
||||
: mpFrameWnd( NULL ),
|
||||
mActiveViewNo( -1 ),
|
||||
mpClientWnd( NULL )
|
||||
: mpFrameWnd( NULL ),
|
||||
mActiveViewNo( -1 ),
|
||||
mpClientWnd( NULL )
|
||||
{
|
||||
}
|
||||
|
||||
wxFrameManager::~wxFrameManager()
|
||||
{
|
||||
SaveViewsNow();
|
||||
DestroyViews();
|
||||
SaveViewsNow();
|
||||
DestroyViews();
|
||||
}
|
||||
|
||||
void wxFrameManager::Init( wxWindow* pMainFrame, const wxString& settingsFile )
|
||||
{
|
||||
mSettingsFile = settingsFile;
|
||||
mpFrameWnd = pMainFrame;
|
||||
mSettingsFile = settingsFile;
|
||||
mpFrameWnd = pMainFrame;
|
||||
|
||||
wxNode* pNode = mViews.First();
|
||||
wxNode* pNode = mViews.First();
|
||||
|
||||
while( pNode )
|
||||
{
|
||||
wxFrameView* pView = (wxFrameView*)pNode->Data();
|
||||
while ( pNode )
|
||||
{
|
||||
wxFrameView* pView = (wxFrameView*)pNode->Data();
|
||||
|
||||
pView->OnInit();
|
||||
pView->OnInitMenus();
|
||||
pView->OnInit();
|
||||
pView->OnInitMenus();
|
||||
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
|
||||
if ( !ReloadViews() )
|
||||
{
|
||||
// if loading of settings file failed (e.g. was not found),
|
||||
// do recreation of items in each view
|
||||
if ( !ReloadViews() )
|
||||
{
|
||||
// if loading of settings file failed (e.g. was not found),
|
||||
// do recreation of items in each view
|
||||
|
||||
pNode = mViews.First();
|
||||
pNode = mViews.First();
|
||||
|
||||
while( pNode )
|
||||
{
|
||||
wxFrameView* pView = (wxFrameView*)pNode->Data();
|
||||
while ( pNode )
|
||||
{
|
||||
wxFrameView* pView = (wxFrameView*)pNode->Data();
|
||||
|
||||
pView->OnRecreate();
|
||||
pView->OnRecreate();
|
||||
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
}
|
||||
pNode = pNode->Next();
|
||||
}
|
||||
}
|
||||
|
||||
if ( mActiveViewNo >= mViews.Number() )
|
||||
if ( mActiveViewNo >= mViews.Number() )
|
||||
mActiveViewNo = -1;
|
||||
|
||||
mActiveViewNo = -1;
|
||||
ActivateView( GetView( ( mActiveViewNo == -1 ) ? 0 : mActiveViewNo ) );
|
||||
|
||||
ActivateView( GetView( ( mActiveViewNo == -1 ) ? 0 : mActiveViewNo ) );
|
||||
|
||||
SyncAllMenus();
|
||||
SyncAllMenus();
|
||||
}
|
||||
|
||||
void wxFrameManager::AddView( wxFrameView* pFrmView )
|
||||
{
|
||||
mViews.Append( pFrmView );
|
||||
mViews.Append( pFrmView );
|
||||
|
||||
pFrmView->mpFrameMgr = this; // back ref.
|
||||
pFrmView->mpFrameMgr = this; // back ref.
|
||||
}
|
||||
|
||||
void wxFrameManager::RemoveView( wxFrameView* pFrmView )
|
||||
{
|
||||
// TBD::
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning);
|
||||
// TBD::
|
||||
wxFAIL_MSG("wxFrameManager::RemoveView() has not been implemented yet.");
|
||||
}
|
||||
|
||||
int wxFrameManager::GetActiveViewNo()
|
||||
{
|
||||
return mActiveViewNo;
|
||||
return mActiveViewNo;
|
||||
}
|
||||
|
||||
wxFrameView* wxFrameManager::GetActiveView()
|
||||
{
|
||||
wxNode* pNode = mViews.Nth( mActiveViewNo );
|
||||
wxNode* pNode = mViews.Nth( mActiveViewNo );
|
||||
|
||||
if ( pNode ) return (wxFrameView*)pNode->Data();
|
||||
else return NULL;
|
||||
if ( pNode ) return (wxFrameView*)pNode->Data();
|
||||
else return NULL;
|
||||
}
|
||||
|
||||
wxNode* wxFrameManager::GetActiveViewNode()
|
||||
{
|
||||
return mViews.Nth( mActiveViewNo );
|
||||
return mViews.Nth( mActiveViewNo );
|
||||
}
|
||||
|
||||
wxFrame* wxFrameManager::GetParentFrame()
|
||||
{
|
||||
return ((wxFrame*)mpFrameWnd);
|
||||
return ((wxFrame*)mpFrameWnd);
|
||||
}
|
||||
|
||||
wxWindow* wxFrameManager::GetParentWindow()
|
||||
{
|
||||
return mpFrameWnd;
|
||||
return mpFrameWnd;
|
||||
}
|
||||
|
||||
wxFrameView* wxFrameManager::GetView( int viewNo )
|
||||
{
|
||||
wxNode* pNode = mViews.Nth( viewNo );
|
||||
wxNode* pNode = mViews.Nth( viewNo );
|
||||
|
||||
if ( pNode ) return (wxFrameView*)pNode->Data();
|
||||
else return NULL;
|
||||
if ( pNode ) return (wxFrameView*)pNode->Data();
|
||||
else return NULL;
|
||||
}
|
||||
|
||||
void wxFrameManager::ActivateView( int viewNo )
|
||||
{
|
||||
ActivateView( GetView( viewNo ) );
|
||||
ActivateView( GetView( viewNo ) );
|
||||
}
|
||||
|
||||
void wxFrameManager::ActivateView( wxFrameView* pFrmView )
|
||||
{
|
||||
DeactivateCurrentView();
|
||||
DeactivateCurrentView();
|
||||
|
||||
mActiveViewNo = GetViewNo( pFrmView );
|
||||
mActiveViewNo = GetViewNo( pFrmView );
|
||||
|
||||
if ( pFrmView->mpLayout )
|
||||
if ( pFrmView->mpLayout )
|
||||
|
||||
pFrmView->mpLayout->Activate();
|
||||
pFrmView->mpLayout->Activate();
|
||||
|
||||
// FIXME:: we would have used PushEventHandler(),
|
||||
// but wxFrame bypasses attached handlers when
|
||||
// handling wxCommand events!
|
||||
// FIXME:: we would have used PushEventHandler(),
|
||||
// but wxFrame bypasses attached handlers when
|
||||
// handling wxCommand events!
|
||||
|
||||
GetParentFrame()->PushEventHandler( pFrmView );
|
||||
GetParentFrame()->PushEventHandler( pFrmView );
|
||||
|
||||
EnableMenusForView( pFrmView, TRUE );
|
||||
EnableMenusForView( pFrmView, TRUE );
|
||||
}
|
||||
|
||||
void wxFrameManager::SetClinetWindow( wxWindow* pFrameClient )
|
||||
{
|
||||
if ( mpClientWnd ) mpClientWnd->Destroy();
|
||||
if ( mpClientWnd ) mpClientWnd->Destroy();
|
||||
|
||||
mpClientWnd = pFrameClient;
|
||||
mpClientWnd = pFrameClient;
|
||||
}
|
||||
|
||||
wxWindow* wxFrameManager::GetClientWindow()
|
||||
{
|
||||
if ( !mpClientWnd )
|
||||
if ( !mpClientWnd )
|
||||
|
||||
mpClientWnd = new wxWindow( GetParentFrame(), -1 );
|
||||
mpClientWnd = new wxWindow( GetParentFrame(), -1 );
|
||||
|
||||
return mpClientWnd;
|
||||
return mpClientWnd;
|
||||
}
|
||||
|
||||
void wxFrameManager::DeactivateCurrentView()
|
||||
{
|
||||
if ( mActiveViewNo == -1 ) return;
|
||||
if ( mActiveViewNo == -1 )
|
||||
return;
|
||||
|
||||
wxFrameView* pView = GetActiveView();
|
||||
wxFrameView* pView = GetActiveView();
|
||||
|
||||
// FOR NOW::
|
||||
wxASSERT( GetParentFrame()->GetEventHandler() == pView );
|
||||
// FOR NOW::
|
||||
wxASSERT( GetParentFrame()->GetEventHandler() == pView );
|
||||
|
||||
GetParentFrame()->PopEventHandler();
|
||||
GetParentFrame()->PopEventHandler();
|
||||
|
||||
if ( pView->mpLayout )
|
||||
if ( pView->mpLayout )
|
||||
pView->mpLayout->Deactivate();
|
||||
|
||||
pView->mpLayout->Deactivate();
|
||||
|
||||
EnableMenusForView( pView, FALSE );
|
||||
EnableMenusForView( pView, FALSE );
|
||||
}
|
||||
|
||||
void wxFrameManager::SaveViewsNow()
|
||||
{
|
||||
#if 0
|
||||
if ( mSettingsFile == "" ) return;
|
||||
if ( mSettingsFile == "" ) return;
|
||||
|
||||
wxIOStreamWrapper stm;
|
||||
stm.CreateForOutput( mSettingsFile );
|
||||
@@ -424,15 +423,14 @@ void wxFrameManager::SaveViewsNow()
|
||||
|
||||
bool wxFrameManager::ReloadViews()
|
||||
{
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
|
||||
// TBD: ????
|
||||
// TBD: ????
|
||||
#if 0
|
||||
if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) )
|
||||
if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) )
|
||||
return FALSE;
|
||||
|
||||
return FALSE;
|
||||
|
||||
DestroyViews();
|
||||
DestroyViews();
|
||||
|
||||
wxIOStreamWrapper stm;
|
||||
stm.CreateForInput( mSettingsFile );
|
||||
@@ -440,12 +438,12 @@ bool wxFrameManager::ReloadViews()
|
||||
mStore.SetDataStream( stm );
|
||||
DoSerialize( mStore );
|
||||
|
||||
return TRUE;
|
||||
return TRUE;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool wxFrameManager::ViewsAreLoaded()
|
||||
{
|
||||
return ( mViews.Number() != 0 );
|
||||
return ( mViews.Number() != 0 );
|
||||
}
|
||||
|
||||
|
@@ -141,7 +141,8 @@ void cbGCUpdatesMgr::UpdateNow()
|
||||
|
||||
wxList mBarsToResize;
|
||||
|
||||
for( int n = 0; n != MAX_PANES; ++n )
|
||||
int n;
|
||||
for ( n = 0; n != MAX_PANES; ++n )
|
||||
{
|
||||
cbDockPane& pane = *(panes[n]);
|
||||
|
||||
@@ -164,7 +165,7 @@ void cbGCUpdatesMgr::UpdateNow()
|
||||
cbBarInfo* pBar = pRow->GetFirstBar();
|
||||
|
||||
bool rowChanged = FALSE;
|
||||
bool rowBkPainted = FALSE;
|
||||
// bool rowBkPainted = FALSE;
|
||||
|
||||
// FIXME:: the below should not be fixed
|
||||
cbBarInfo* barsToRepaint[128];
|
||||
@@ -207,7 +208,7 @@ void cbGCUpdatesMgr::UpdateNow()
|
||||
|
||||
cbBarInfo* pCurBar = pRow->GetFirstBar();
|
||||
|
||||
while( pCurBar )
|
||||
while ( pCurBar )
|
||||
{
|
||||
if ( WasChanged( pCurBar->mUMgrData,
|
||||
pCurBar->mBoundsInParent ) )
|
||||
@@ -226,7 +227,7 @@ void cbGCUpdatesMgr::UpdateNow()
|
||||
else
|
||||
if ( nBars != 0 )
|
||||
{
|
||||
for( int i = 0; i != nBars; ++i )
|
||||
for ( int i = 0; i != nBars; ++i )
|
||||
|
||||
// postphone the resizement and refreshing the changed
|
||||
// bar windows
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -381,14 +381,7 @@ void cbPaneDrawPlugin::OnLDblClick( cbLeftDClickEvent& event )
|
||||
&pBarToFloat ) == CB_BAR_CONTENT_HITTED
|
||||
)
|
||||
{
|
||||
// TBD: ????
|
||||
return;
|
||||
|
||||
mpLayout->SetBarState( pBarToFloat, wxCBAR_FLOATING, TRUE );
|
||||
|
||||
mpLayout->RepositionFloatedBar( pBarToFloat );
|
||||
|
||||
return; // event is "eaten" by this plugin
|
||||
return;
|
||||
}
|
||||
|
||||
event.Skip();
|
||||
@@ -439,7 +432,7 @@ void cbPaneDrawPlugin::OnLButtonDown( cbLeftDownEvent& event )
|
||||
{
|
||||
// otehrwise if bar handle dragged
|
||||
|
||||
cbRowInfo& rowInfo = *mpDraggedBar->mpRow;
|
||||
// cbRowInfo& rowInfo = *mpDraggedBar->mpRow;
|
||||
wxRect& bounds = mpDraggedBar->mBounds;
|
||||
|
||||
mHandleIsVertical = ( event.mpPane->IsHorizontal() ) ? TRUE : FALSE;
|
||||
@@ -735,27 +728,27 @@ void cbPaneDrawPlugin::OnDrawRowBackground ( cbDrawRowBkGroundEvent& event )
|
||||
wxRect rowBounds = pRow->mBoundsInParent;
|
||||
bool isHorizontal = event.mpPane->IsHorizontal();
|
||||
|
||||
int prevPos;
|
||||
// int prevPos;
|
||||
|
||||
if ( isHorizontal )
|
||||
{
|
||||
prevPos = rowBounds.x;
|
||||
// include one line obove and below the row
|
||||
// prevPos = rowBounds.x;
|
||||
// include one line above and below the row
|
||||
--rowBounds.y;
|
||||
rowBounds.height +=2;
|
||||
rowBounds.height += 2;
|
||||
|
||||
--rowBounds.x;
|
||||
rowBounds.width += 2;
|
||||
rowBounds.width += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
prevPos = rowBounds.y;
|
||||
// include one line obove and below the row
|
||||
// prevPos = rowBounds.y;
|
||||
// include one line above and below the row
|
||||
--rowBounds.x;
|
||||
rowBounds.width += 2;
|
||||
rowBounds.width += 2;
|
||||
|
||||
--rowBounds.y;
|
||||
rowBounds.height +=2;
|
||||
rowBounds.height += 2;
|
||||
}
|
||||
|
||||
//#define TEST_BK_ERASING
|
||||
@@ -1170,7 +1163,7 @@ void cbPaneDrawPlugin::OnDrawPaneDecorations( cbDrawPaneDecorEvent& event )
|
||||
|
||||
void cbPaneDrawPlugin::OnDrawBarDecorations( cbDrawBarDecorEvent& event )
|
||||
{
|
||||
cbBarInfo* pBar = event.mpBar;
|
||||
// cbBarInfo* pBar = event.mpBar;
|
||||
wxDC& dc = *event.mpDc;
|
||||
|
||||
// draw brick borders
|
||||
|
@@ -229,7 +229,7 @@ void cbRowDragPlugin::OnMouseMove( cbMotionEvent& event )
|
||||
// DBG::
|
||||
wxPoint p = event.mPos;
|
||||
wxPoint d = mDragOrigin;
|
||||
int dif = event.mPos.x - mDragOrigin.x;
|
||||
// int dif = event.mPos.x - mDragOrigin.x;
|
||||
|
||||
// row is dragged up or down;
|
||||
ShowDraggedRow( pos.y - mDragOrigin.y );
|
||||
@@ -239,7 +239,7 @@ void cbRowDragPlugin::OnMouseMove( cbMotionEvent& event )
|
||||
// DBG::
|
||||
wxPoint p = event.mPos;
|
||||
wxPoint d = mDragOrigin;
|
||||
int dif = event.mPos.x - mDragOrigin.x;
|
||||
// int dif = event.mPos.x - mDragOrigin.x;
|
||||
|
||||
// row is dragged left or right
|
||||
ShowDraggedRow( pos.x - mDragOrigin.x );
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -496,8 +496,7 @@ void wxToolWindow::CalcResizedRect( wxRect& rect, wxPoint& delta, const wxSize&
|
||||
}
|
||||
else
|
||||
{
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning); // DBG::
|
||||
wxFAIL( _T("what did the cursor hit?") );
|
||||
}
|
||||
|
||||
rect.x = left;
|
||||
|
@@ -289,3 +289,4 @@ void cbSimpleUpdatesMgr::UpdateNow()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -118,5 +118,9 @@ SOURCE=.\multicell.cpp
|
||||
|
||||
SOURCE=.\splittree.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\ledctrl.cpp
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
|
@@ -13,9 +13,9 @@ LIBVERSION_AGE=0
|
||||
HEADER_PATH=$(top_srcdir)/contrib/include/wx
|
||||
HEADER_SUBDIR=gizmos
|
||||
|
||||
HEADERS=multicell.h splittree.h editlbox.h dynamicsash.h
|
||||
HEADERS=multicell.h splittree.h editlbox.h dynamicsash.h ledctrl.h
|
||||
|
||||
OBJECTS=multicell.o splittree.o editlbox.o dynamicsash.o
|
||||
OBJECTS=multicell.o splittree.o editlbox.o dynamicsash.o ledctrl.o
|
||||
DEPFILES=$(OBJECTS:.o=.d)
|
||||
|
||||
APPEXTRADEFS=-I$(top_srcdir)/contrib/include
|
||||
|
@@ -10,6 +10,23 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation "splittree.h"
|
||||
#endif
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
// for all others, include the necessary headers (this file is usually all you
|
||||
// need because it includes almost all "standard" wxWindows headers)
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/gizmos/dynamicsash.h"
|
||||
|
||||
/*
|
||||
@@ -83,6 +100,9 @@ class wxDynamicSashReparentEvent : public wxEvent {
|
||||
public:
|
||||
wxDynamicSashReparentEvent();
|
||||
wxDynamicSashReparentEvent(wxObject *object);
|
||||
wxDynamicSashReparentEvent(const wxDynamicSashReparentEvent& evt);
|
||||
|
||||
virtual wxEvent* Clone() const { return new wxDynamicSashReparentEvent(*this); }
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxDynamicSashReparentEvent);
|
||||
};
|
||||
@@ -328,7 +348,8 @@ void wxDynamicSashWindowImpl::DrawSash(int x, int y) const {
|
||||
dc.SetBrush(brush);
|
||||
dc.SetLogicalFunction(wxXOR);
|
||||
|
||||
if (m_dragging == DSR_CORNER) {
|
||||
if ((m_dragging == DSR_CORNER) &&
|
||||
(m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
|
||||
int cx = 0;
|
||||
int cy = 0;
|
||||
|
||||
@@ -530,7 +551,6 @@ void wxDynamicSashWindowImpl::Unify(int panel) {
|
||||
}
|
||||
|
||||
void wxDynamicSashWindowImpl::Split(int px, int py) {
|
||||
m_window->Hide();
|
||||
|
||||
m_add_child_target = NULL;
|
||||
|
||||
@@ -577,10 +597,9 @@ void wxDynamicSashWindowImpl::Split(int px, int py) {
|
||||
m_leaf = NULL;
|
||||
|
||||
m_container->Layout();
|
||||
|
||||
m_window->Show();
|
||||
}
|
||||
|
||||
|
||||
/* This code is called when you finish resizing a view by dragging the
|
||||
corner tab, but I think this implementation is lousy and will surprise
|
||||
the user more often than it will do what they are trying to do. What
|
||||
@@ -772,7 +791,8 @@ void wxDynamicSashWindowImpl::OnPress(wxMouseEvent &event) {
|
||||
}
|
||||
|
||||
void wxDynamicSashWindowImpl::OnRelease(wxMouseEvent &event) {
|
||||
if (m_dragging == DSR_CORNER) {
|
||||
if ((m_dragging == DSR_CORNER) &&
|
||||
(m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
|
||||
DrawSash(m_drag_x, m_drag_y);
|
||||
m_container->ReleaseMouse();
|
||||
|
||||
@@ -874,7 +894,7 @@ bool wxDynamicSashWindowLeaf::Create() {
|
||||
m_viewport->SetEventHandler(this);
|
||||
Connect(-1, wxEVT_DYNAMIC_SASH_REPARENT, (wxObjectEventFunction)&wxDynamicSashWindowLeaf::OnReparent);
|
||||
|
||||
if (m_impl->m_window->GetWindowStyle() & wxMANAGE_SCROLLBARS) {
|
||||
if (m_impl->m_window->GetWindowStyle() & wxDS_MANAGE_SCROLLBARS) {
|
||||
m_hscroll->SetEventHandler(this);
|
||||
m_vscroll->SetEventHandler(this);
|
||||
|
||||
@@ -971,7 +991,7 @@ DynamicSashRegion wxDynamicSashWindowLeaf::GetRegion(int x, int y) {
|
||||
|
||||
void wxDynamicSashWindowLeaf::ResizeChild(wxSize size) {
|
||||
if (m_child) {
|
||||
if (m_impl->m_window->GetWindowStyle() & wxMANAGE_SCROLLBARS) {
|
||||
if (m_impl->m_window->GetWindowStyle() & wxDS_MANAGE_SCROLLBARS) {
|
||||
m_child->SetSize(size);
|
||||
wxSize best_size = m_child->GetBestSize();
|
||||
if (best_size.GetWidth() < size.GetWidth()) {
|
||||
@@ -1082,7 +1102,6 @@ void wxDynamicSashWindowLeaf::OnPaint(wxPaintEvent &event) {
|
||||
dc.DrawLine(9, h - sh - 3, 9, h - 4);
|
||||
dc.DrawLine(9, h - 4, 3, h - 4);
|
||||
|
||||
|
||||
int cy = (h - sh + h - 6) / 2 + 1;
|
||||
int cx = (w - sw + w - 6) / 2 + 1;
|
||||
int sy = cy;
|
||||
@@ -1135,7 +1154,8 @@ void wxDynamicSashWindowLeaf::OnMouseMove(wxMouseEvent &event) {
|
||||
cursor = wxCursor(wxCURSOR_SIZENS);
|
||||
} else if (region == DSR_VERTICAL_TAB) {
|
||||
cursor = wxCursor(wxCURSOR_SIZEWE);
|
||||
} else if (region == DSR_CORNER) {
|
||||
} else if ((region == DSR_CORNER) &&
|
||||
(m_impl->m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
|
||||
cursor = wxCursor(wxCURSOR_SIZENWSE);
|
||||
} else if (region == DSR_LEFT_EDGE || region == DSR_TOP_EDGE
|
||||
|| region == DSR_RIGHT_EDGE || region == DSR_BOTTOM_EDGE) {
|
||||
@@ -1160,6 +1180,9 @@ void wxDynamicSashWindowLeaf::OnLeave(wxMouseEvent &event) {
|
||||
void wxDynamicSashWindowLeaf::OnPress(wxMouseEvent &event) {
|
||||
DynamicSashRegion region = GetRegion(event.m_x, event.m_y);
|
||||
|
||||
if ((region == DSR_CORNER) && (m_impl->m_window->GetWindowStyle() & wxDS_DRAG_CORNER) == 0)
|
||||
return;
|
||||
|
||||
if (region == DSR_HORIZONTAL_TAB || region == DSR_VERTICAL_TAB || region == DSR_CORNER) {
|
||||
m_impl->m_dragging = region;
|
||||
m_impl->m_drag_x = event.m_x;
|
||||
@@ -1237,6 +1260,11 @@ wxDynamicSashReparentEvent::wxDynamicSashReparentEvent(wxObject *object) {
|
||||
m_eventType = wxEVT_DYNAMIC_SASH_REPARENT;
|
||||
}
|
||||
|
||||
wxDynamicSashReparentEvent::wxDynamicSashReparentEvent(const wxDynamicSashReparentEvent& evt)
|
||||
: wxEvent(evt)
|
||||
{
|
||||
}
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxDynamicSashReparentEvent, wxEvent)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@@ -121,6 +121,13 @@ wxEditableListBox::wxEditableListBox(wxWindow *parent, wxWindowID id,
|
||||
m_bDel = new wxBitmapButton(subp, wxID_ELB_DELETE, wxBitmap(eldel_xpm));
|
||||
m_bUp = new wxBitmapButton(subp, wxID_ELB_UP, wxBitmap(elup_xpm));
|
||||
m_bDown = new wxBitmapButton(subp, wxID_ELB_DOWN, wxBitmap(eldown_xpm));
|
||||
|
||||
m_bEdit->SetToolTip(wxT("Edit item"));
|
||||
m_bNew->SetToolTip(wxT("New item"));
|
||||
m_bDel->SetToolTip(wxT("Delete item"));
|
||||
m_bUp->SetToolTip(wxT("Move up"));
|
||||
m_bDown->SetToolTip(wxT("Move down"));
|
||||
|
||||
subsizer->Add(m_bEdit, 0, wxALIGN_CENTRE_VERTICAL);
|
||||
subsizer->Add(m_bNew, 0, wxALIGN_CENTRE_VERTICAL);
|
||||
subsizer->Add(m_bDel, 0, wxALIGN_CENTRE_VERTICAL);
|
||||
|
358
contrib/src/gizmos/ledctrl.cpp
Normal file
358
contrib/src/gizmos/ledctrl.cpp
Normal file
@@ -0,0 +1,358 @@
|
||||
// ============================================================================
|
||||
// headers
|
||||
// ============================================================================
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation "wxLEDNumberCtrl.h"
|
||||
#endif
|
||||
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif //__BORLANDC__
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/dcclient.h"
|
||||
#include "wx/dcmemory.h"
|
||||
#include "wx/intl.h"
|
||||
#endif
|
||||
|
||||
#include "wx/gizmos/ledctrl.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// A LED digit is build up like this, with maximum 7 Lines :
|
||||
//
|
||||
// 111
|
||||
// 6 2
|
||||
// 777
|
||||
// 5 3
|
||||
// 444
|
||||
//
|
||||
// Each number contains combinations of the lines, and they are set up below.
|
||||
|
||||
const int LINE1 = 1;
|
||||
const int LINE2 = 2;
|
||||
const int LINE3 = 4;
|
||||
const int LINE4 = 8;
|
||||
const int LINE5 = 16;
|
||||
const int LINE6 = 32;
|
||||
const int LINE7 = 64;
|
||||
|
||||
const int DIGIT0 = LINE1 | LINE2 | LINE3 | LINE4 | LINE5 | LINE6;
|
||||
const int DIGIT1 = LINE2 | LINE3;
|
||||
const int DIGIT2 = LINE1 | LINE2 | LINE4 | LINE5 | LINE7;
|
||||
const int DIGIT3 = LINE1 | LINE2 | LINE3 | LINE4 | LINE7;
|
||||
const int DIGIT4 = LINE2 | LINE3 | LINE6 | LINE7;
|
||||
const int DIGIT5 = LINE1 | LINE3 | LINE4 | LINE6 | LINE7;
|
||||
const int DIGIT6 = LINE1 | LINE3 | LINE4 | LINE5 | LINE6 | LINE7;
|
||||
const int DIGIT7 = LINE1 | LINE2 | LINE3;
|
||||
const int DIGIT8 = LINE1 | LINE2 | LINE3 | LINE4 | LINE5 | LINE6 | LINE7;
|
||||
const int DIGIT9 = LINE1 | LINE2 | LINE3 | LINE6 | LINE7;
|
||||
const int DASH = LINE7;
|
||||
|
||||
const int DIGITALL = -1;
|
||||
|
||||
// ============================================================================
|
||||
// wxLEDNumberCtrl class implementation
|
||||
// ============================================================================
|
||||
|
||||
wxLEDNumberCtrl::wxLEDNumberCtrl()
|
||||
: m_Alignment(wxLED_ALIGN_LEFT),
|
||||
m_LineMargin(-1),
|
||||
m_DigitMargin(-1),
|
||||
m_LineLength(-1),
|
||||
m_LineWidth(-1),
|
||||
m_DrawFaded(FALSE),
|
||||
m_LeftStartPos(-1)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
wxLEDNumberCtrl::wxLEDNumberCtrl(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos, const wxSize& size,
|
||||
long style)
|
||||
: m_Alignment(wxLED_ALIGN_LEFT),
|
||||
m_LineMargin(-1),
|
||||
m_DigitMargin(-1),
|
||||
m_LineLength(-1),
|
||||
m_LineWidth(-1),
|
||||
m_DrawFaded(FALSE),
|
||||
m_LeftStartPos(-1)
|
||||
{
|
||||
Create(parent, id, pos, size, style);
|
||||
}
|
||||
|
||||
|
||||
bool wxLEDNumberCtrl::Create(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos, const wxSize& size,
|
||||
long style)
|
||||
{
|
||||
bool RetVal = wxControl::Create(parent, id, pos, size, style);
|
||||
|
||||
if ((style & wxLED_DRAW_FADED) != 0)
|
||||
SetDrawFaded(TRUE);
|
||||
if ((style & wxLED_ALIGN_MASK) != 0)
|
||||
SetAlignment((wxLEDValueAlign)(style & wxLED_ALIGN_MASK));
|
||||
|
||||
SetBackgroundColour(*wxBLACK);
|
||||
SetForegroundColour(*wxGREEN);
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::SetAlignment(wxLEDValueAlign Alignment, bool Redraw)
|
||||
{
|
||||
if (Alignment != m_Alignment)
|
||||
{
|
||||
m_Alignment = Alignment;
|
||||
RecalcInternals(GetClientSize());
|
||||
|
||||
if (Redraw)
|
||||
Refresh(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::SetDrawFaded(bool DrawFaded, bool Redraw)
|
||||
{
|
||||
if (DrawFaded != m_DrawFaded)
|
||||
{
|
||||
m_DrawFaded = DrawFaded;
|
||||
|
||||
if (Redraw)
|
||||
Refresh(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::SetValue(wxString const &Value, bool Redraw)
|
||||
{
|
||||
if (Value != m_Value)
|
||||
{
|
||||
if (!Value.IsEmpty())
|
||||
{
|
||||
for(size_t i=0; i<Value.Length(); i++) {
|
||||
wxChar ch = Value[i];
|
||||
wxASSERT_MSG((ch>='0' && ch<='9') || ch=='-' || ch==' ',
|
||||
wxT("wxLEDNumberCtrl can only display numeric string values."));
|
||||
}
|
||||
}
|
||||
|
||||
m_Value = Value;
|
||||
RecalcInternals(GetClientSize());
|
||||
|
||||
if (Redraw)
|
||||
Refresh(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BEGIN_EVENT_TABLE(wxLEDNumberCtrl, wxControl)
|
||||
EVT_ERASE_BACKGROUND(wxLEDNumberCtrl::OnEraseBackground)
|
||||
EVT_PAINT(wxLEDNumberCtrl::OnPaint)
|
||||
EVT_SIZE(wxLEDNumberCtrl::OnSize)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::OnEraseBackground(wxEraseEvent &Event)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::OnPaint(wxPaintEvent &Event)
|
||||
{
|
||||
wxPaintDC Dc(this);
|
||||
|
||||
int Width, Height;
|
||||
GetClientSize(&Width, &Height);
|
||||
|
||||
wxBitmap *pMemoryBitmap = new wxBitmap(Width, Height);
|
||||
wxMemoryDC MemDc;
|
||||
|
||||
MemDc.SelectObject(*pMemoryBitmap);
|
||||
MemDc.BeginDrawing();
|
||||
|
||||
// Draw background.
|
||||
MemDc.SetBrush(wxBrush(GetBackgroundColour(), wxSOLID));
|
||||
MemDc.DrawRectangle(wxRect(0, 0, Width, Height));
|
||||
MemDc.SetBrush(wxNullBrush);
|
||||
|
||||
// Iterate each digit in the value, and draw.
|
||||
const int DigitCount = m_Value.Len();
|
||||
for (int i = 0; i < DigitCount; ++i)
|
||||
{
|
||||
// Draw faded lines if wanted.
|
||||
if (m_DrawFaded)
|
||||
DrawDigit(MemDc, DIGITALL, i);
|
||||
|
||||
// Draw the digits.
|
||||
switch (m_Value[i])
|
||||
{
|
||||
case '0' :
|
||||
DrawDigit(MemDc, DIGIT0, i);
|
||||
break;
|
||||
case '1' :
|
||||
DrawDigit(MemDc, DIGIT1, i);
|
||||
break;
|
||||
case '2' :
|
||||
DrawDigit(MemDc, DIGIT2, i);
|
||||
break;
|
||||
case '3' :
|
||||
DrawDigit(MemDc, DIGIT3, i);
|
||||
break;
|
||||
case '4' :
|
||||
DrawDigit(MemDc, DIGIT4, i);
|
||||
break;
|
||||
case '5' :
|
||||
DrawDigit(MemDc, DIGIT5, i);
|
||||
break;
|
||||
case '6' :
|
||||
DrawDigit(MemDc, DIGIT6, i);
|
||||
break;
|
||||
case '7' :
|
||||
DrawDigit(MemDc, DIGIT7, i);
|
||||
break;
|
||||
case '8' :
|
||||
DrawDigit(MemDc, DIGIT8, i);
|
||||
break;
|
||||
case '9' :
|
||||
DrawDigit(MemDc, DIGIT9, i);
|
||||
break;
|
||||
case '-' :
|
||||
DrawDigit(MemDc, DASH, i);
|
||||
break;
|
||||
case ' ' :
|
||||
// just skip it
|
||||
break;
|
||||
default :
|
||||
wxFAIL_MSG(wxT("Unknown digit value"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
MemDc.EndDrawing();
|
||||
|
||||
// Blit the memory dc to screen.
|
||||
Dc.Blit(0, 0, Width, Height, &MemDc, 0, 0, wxCOPY);
|
||||
delete pMemoryBitmap;
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::DrawDigit(wxDC &Dc, int Digit, int Column)
|
||||
{
|
||||
wxColour LineColor(GetForegroundColour());
|
||||
|
||||
if (Digit == DIGITALL)
|
||||
{
|
||||
const int R = LineColor.Red() / 3;
|
||||
const int G = LineColor.Green() / 3;
|
||||
const int B = LineColor.Blue() / 3;
|
||||
|
||||
LineColor.Set(R, G, B);
|
||||
}
|
||||
|
||||
int XPos = m_LeftStartPos;
|
||||
|
||||
if (Column > 0)
|
||||
XPos += (Column * m_LineLength) + (m_DigitMargin) * Column;
|
||||
|
||||
// Create a pen and draw the lines.
|
||||
wxPen Pen(LineColor, m_LineWidth, wxSOLID);
|
||||
Dc.SetPen(Pen);
|
||||
|
||||
if ((Digit & LINE1))
|
||||
{
|
||||
Dc.DrawLine(XPos + m_LineMargin*2, m_LineMargin,
|
||||
XPos + m_LineLength, m_LineMargin);
|
||||
}
|
||||
|
||||
if (Digit & LINE2)
|
||||
{
|
||||
Dc.DrawLine(XPos + m_LineLength + m_LineMargin, m_LineMargin*2,
|
||||
XPos + m_LineLength + m_LineMargin, m_LineLength + (m_LineMargin*2));
|
||||
}
|
||||
|
||||
if (Digit & LINE3)
|
||||
{
|
||||
Dc.DrawLine(XPos + m_LineLength + m_LineMargin, m_LineLength + (m_LineMargin*4),
|
||||
XPos + m_LineLength + m_LineMargin, m_LineLength*2 + (m_LineMargin*3));
|
||||
}
|
||||
|
||||
if (Digit & LINE4)
|
||||
{
|
||||
Dc.DrawLine(XPos + m_LineMargin*2, m_LineLength*2 + (m_LineMargin*4),
|
||||
XPos + m_LineLength, m_LineLength*2 + (m_LineMargin*4));
|
||||
}
|
||||
|
||||
if (Digit & LINE5)
|
||||
{
|
||||
Dc.DrawLine(XPos + m_LineMargin, m_LineLength + (m_LineMargin*4),
|
||||
XPos + m_LineMargin, m_LineLength*2 + (m_LineMargin*3));
|
||||
}
|
||||
|
||||
if (Digit & LINE6)
|
||||
{
|
||||
Dc.DrawLine(XPos + m_LineMargin, m_LineMargin*2,
|
||||
XPos + m_LineMargin, m_LineLength + (m_LineMargin*2));
|
||||
}
|
||||
|
||||
if (Digit & LINE7)
|
||||
{
|
||||
Dc.DrawLine(XPos + m_LineMargin*2, m_LineLength + (m_LineMargin*3),
|
||||
XPos + m_LineMargin + m_LineLength - m_LineMargin, m_LineLength + (m_LineMargin*3));
|
||||
}
|
||||
|
||||
Dc.SetPen(wxNullPen);
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::RecalcInternals(const wxSize &CurrentSize)
|
||||
{
|
||||
const int Height = CurrentSize.GetHeight();
|
||||
|
||||
if ((Height * 0.07) < 1)
|
||||
m_LineMargin = 1;
|
||||
else
|
||||
m_LineMargin = Height * 0.07;
|
||||
|
||||
if ((Height * 0.35) < 1)
|
||||
m_LineLength = 1;
|
||||
else
|
||||
m_LineLength = Height * 0.35;
|
||||
|
||||
m_LineWidth = m_LineMargin;
|
||||
|
||||
m_DigitMargin = m_LineMargin * 4;
|
||||
|
||||
const int ValueWidth = (m_LineLength + m_DigitMargin) * m_Value.Len();
|
||||
const int ClientWidth = CurrentSize.GetWidth();
|
||||
|
||||
switch (m_Alignment)
|
||||
{
|
||||
case wxLED_ALIGN_LEFT :
|
||||
m_LeftStartPos = 0;
|
||||
break;
|
||||
case wxLED_ALIGN_RIGHT :
|
||||
m_LeftStartPos = ClientWidth - ValueWidth;
|
||||
break;
|
||||
case wxLED_ALIGN_CENTER :
|
||||
m_LeftStartPos = (ClientWidth - ValueWidth) / 2;
|
||||
break;
|
||||
default :
|
||||
wxFAIL_MSG(wxT("Unknown alignent value for wxLEDNumberCtrl."));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::OnSize(wxSizeEvent &Event)
|
||||
{
|
||||
RecalcInternals(Event.GetSize());
|
||||
|
||||
Event.Skip();
|
||||
}
|
@@ -11,7 +11,7 @@ WXDIR = $(WXWIN)
|
||||
|
||||
LIBTARGET=$(WXDIR)\lib\gizmos.lib
|
||||
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj
|
||||
|
||||
!include $(WXDIR)\src\makelib.b32
|
||||
|
||||
|
@@ -14,7 +14,7 @@ WXDIR = $(WXWIN)
|
||||
|
||||
LIBTARGET=$(WXDIR)\lib\gizmos.lib
|
||||
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj
|
||||
|
||||
!include $(WXDIR)\src\makelib.bcc
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
WXDIR = ../../..
|
||||
|
||||
LIBTARGET=$(WXDIR)/lib/libgizmos.a
|
||||
OBJECTS = multicell.o splittree.o editlbox.o dynamicsash.o
|
||||
OBJECTS = multicell.o splittree.o editlbox.o dynamicsash.o ledctrl.o
|
||||
|
||||
include $(WXDIR)/src/makelib.g95
|
||||
|
||||
|
@@ -23,7 +23,7 @@ LOCALDOCDIR=$(WXDIR)\contrib\docs\latex\gizmos
|
||||
|
||||
!include $(WXDIR)\src\makevc.env
|
||||
|
||||
OBJECTS = $(D)\multicell.obj $(D)\splittree.obj $(D)\editlbox.obj $(D)\dynamicsash.obj
|
||||
OBJECTS = $(D)\multicell.obj $(D)\splittree.obj $(D)\editlbox.obj $(D)\dynamicsash.obj $(D)\ledctrl.obj
|
||||
|
||||
LIBTARGET=$(WXDIR)\lib\gizmos$(LIBEXT).lib
|
||||
|
||||
|
@@ -10,7 +10,7 @@ THISDIR = $(WXDIR)\contrib\src\gizmos
|
||||
NAME = gizmos
|
||||
LNK = $(name).lnk
|
||||
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj
|
||||
|
||||
all: $(GIZMOSLIB)
|
||||
|
||||
|
@@ -58,17 +58,25 @@ BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxGenericTreeCtrl)
|
||||
#else
|
||||
BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxTreeCtrl)
|
||||
#endif
|
||||
EVT_SIZE(wxRemotelyScrolledTreeCtrl::OnSize)
|
||||
EVT_TREE_ITEM_EXPANDED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
|
||||
EVT_TREE_ITEM_COLLAPSED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
|
||||
EVT_SCROLLWIN(wxRemotelyScrolledTreeCtrl::OnScroll)
|
||||
EVT_SIZE(wxRemotelyScrolledTreeCtrl::OnSize)
|
||||
EVT_PAINT(wxRemotelyScrolledTreeCtrl::OnPaint)
|
||||
EVT_TREE_ITEM_EXPANDED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
|
||||
EVT_TREE_ITEM_COLLAPSED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
|
||||
EVT_SCROLLWIN(wxRemotelyScrolledTreeCtrl::OnScroll)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
wxRemotelyScrolledTreeCtrl::wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt,
|
||||
const wxSize& sz, long style):
|
||||
wxTreeCtrl(parent, id, pt, sz, style)
|
||||
wxRemotelyScrolledTreeCtrl::wxRemotelyScrolledTreeCtrl(
|
||||
wxWindow* parent, wxWindowID id, const wxPoint& pt,
|
||||
const wxSize& sz, long style)
|
||||
: wxTreeCtrl(parent, id, pt, sz, style & ~wxTR_ROW_LINES)
|
||||
{
|
||||
m_companionWindow = NULL;
|
||||
m_companionWindow = NULL;
|
||||
|
||||
// We draw the row lines ourself so they match what's done
|
||||
// by the companion window. That is why the flag is turned
|
||||
// off above, so wxGenericTreeCtrl doesn't draw them in a
|
||||
// different colour.
|
||||
m_drawRowLines = (style & wxTR_ROW_LINES) != 0;
|
||||
}
|
||||
|
||||
wxRemotelyScrolledTreeCtrl::~wxRemotelyScrolledTreeCtrl()
|
||||
@@ -77,16 +85,20 @@ wxRemotelyScrolledTreeCtrl::~wxRemotelyScrolledTreeCtrl()
|
||||
|
||||
void wxRemotelyScrolledTreeCtrl::HideVScrollbar()
|
||||
{
|
||||
#if defined(__WXMSW__) && USE_GENERIC_TREECTRL
|
||||
#if defined(__WXMSW__)
|
||||
#if USE_GENERIC_TREECTRL
|
||||
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
|
||||
#endif
|
||||
{
|
||||
::ShowScrollBar((HWND) GetHWND(), SB_VERT, FALSE);
|
||||
}
|
||||
#if USE_GENERIC_TREECTRL
|
||||
else
|
||||
#endif
|
||||
{
|
||||
// Implicit in overriding SetScrollbars
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
// Number of pixels per user unit (0 or -1 for no scrollbar)
|
||||
@@ -103,9 +115,9 @@ void wxRemotelyScrolledTreeCtrl::SetScrollbars(int pixelsPerUnitX, int pixelsPer
|
||||
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
|
||||
win->wxGenericTreeCtrl::SetScrollbars(pixelsPerUnitX, 0, noUnitsX, 0, xPos, 0, noRefresh);
|
||||
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
if (scrolledWindow)
|
||||
{
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
if (scrolledWindow)
|
||||
{
|
||||
scrolledWindow->SetScrollbars(0, pixelsPerUnitY, 0, noUnitsY, 0, yPos, noRefresh);
|
||||
}
|
||||
}
|
||||
@@ -154,13 +166,13 @@ void wxRemotelyScrolledTreeCtrl::GetViewStart(int *x, int *y) const
|
||||
scrolledWindow->GetViewStart(& x2, & y2);
|
||||
* y = y2;
|
||||
}
|
||||
else
|
||||
else
|
||||
#endif
|
||||
{
|
||||
// x is wrong since the horizontal scrollbar is controlled by the
|
||||
// tree control, but we probably don't need it.
|
||||
{
|
||||
// x is wrong since the horizontal scrollbar is controlled by the
|
||||
// tree control, but we probably don't need it.
|
||||
scrolledWindow->GetViewStart(x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// In case we're using the generic tree control.
|
||||
@@ -169,7 +181,7 @@ void wxRemotelyScrolledTreeCtrl::PrepareDC(wxDC& dc)
|
||||
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
|
||||
if (IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
|
||||
{
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
|
||||
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
|
||||
|
||||
@@ -195,9 +207,9 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int posHoriz, int posVert)
|
||||
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
|
||||
#endif
|
||||
{
|
||||
UINT sbCode = SB_THUMBPOSITION;
|
||||
HWND vertScrollBar = 0;
|
||||
MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXHWND) vertScrollBar);
|
||||
UINT sbCode = SB_THUMBPOSITION;
|
||||
HWND vertScrollBar = 0;
|
||||
MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXHWND) vertScrollBar);
|
||||
}
|
||||
#if USE_GENERIC_TREECTRL
|
||||
else
|
||||
@@ -206,90 +218,127 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int posHoriz, int posVert)
|
||||
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
|
||||
{
|
||||
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
|
||||
win->Refresh();
|
||||
/* Doesn't work yet because scrolling is ignored by Scroll
|
||||
win->Refresh();
|
||||
/* Doesn't work yet because scrolling is ignored by Scroll
|
||||
int xppu, yppu;
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
if (scrolledWindow)
|
||||
{
|
||||
scrolledWindow->GetScrollPixelsPerUnit(& xppu, & yppu);
|
||||
win->Scroll(-1, posVert*yppu);
|
||||
}
|
||||
*/
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
if (scrolledWindow)
|
||||
{
|
||||
scrolledWindow->GetScrollPixelsPerUnit(& xppu, & yppu);
|
||||
win->Scroll(-1, posVert*yppu);
|
||||
}
|
||||
*/
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void wxRemotelyScrolledTreeCtrl::OnSize(wxSizeEvent& event)
|
||||
{
|
||||
HideVScrollbar();
|
||||
AdjustRemoteScrollbars();
|
||||
event.Skip();
|
||||
HideVScrollbar();
|
||||
AdjustRemoteScrollbars();
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void wxRemotelyScrolledTreeCtrl::OnExpand(wxTreeEvent& event)
|
||||
{
|
||||
AdjustRemoteScrollbars();
|
||||
event.Skip();
|
||||
AdjustRemoteScrollbars();
|
||||
event.Skip();
|
||||
|
||||
// If we don't have this, we get some bits of lines still remaining
|
||||
if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_COLLAPSED)
|
||||
Refresh();
|
||||
|
||||
// Pass on the event
|
||||
if (m_companionWindow)
|
||||
m_companionWindow->GetEventHandler()->ProcessEvent(event);
|
||||
// Pass on the event
|
||||
if (m_companionWindow)
|
||||
m_companionWindow->GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
|
||||
void wxRemotelyScrolledTreeCtrl::OnPaint(wxPaintEvent& event)
|
||||
{
|
||||
wxPaintDC dc(this);
|
||||
|
||||
wxTreeCtrl::OnPaint(event);
|
||||
|
||||
if (! m_drawRowLines)
|
||||
return;
|
||||
|
||||
// Reset the device origin since it may have been set
|
||||
dc.SetDeviceOrigin(0, 0);
|
||||
|
||||
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
|
||||
dc.SetPen(pen);
|
||||
dc.SetBrush(* wxTRANSPARENT_BRUSH);
|
||||
|
||||
wxSize clientSize = GetClientSize();
|
||||
wxRect itemRect;
|
||||
int cy=0;
|
||||
wxTreeItemId h, lastH;
|
||||
for(h=GetFirstVisibleItem();h;h=GetNextVisible(h))
|
||||
{
|
||||
if (GetBoundingRect(h, itemRect))
|
||||
{
|
||||
cy = itemRect.GetTop();
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
lastH = h;
|
||||
}
|
||||
}
|
||||
if (GetBoundingRect(lastH, itemRect))
|
||||
{
|
||||
cy = itemRect.GetBottom();
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Adjust the containing wxScrolledWindow's scrollbars appropriately
|
||||
void wxRemotelyScrolledTreeCtrl::AdjustRemoteScrollbars()
|
||||
{
|
||||
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
|
||||
if (IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
|
||||
{
|
||||
// This is for the generic tree control.
|
||||
// It calls SetScrollbars which has been overridden
|
||||
// to adjust the parent scrolled window vertical
|
||||
// scrollbar.
|
||||
((wxGenericTreeCtrl*) this)->AdjustMyScrollbars();
|
||||
{
|
||||
// This is for the generic tree control.
|
||||
// It calls SetScrollbars which has been overridden
|
||||
// to adjust the parent scrolled window vertical
|
||||
// scrollbar.
|
||||
((wxGenericTreeCtrl*) this)->AdjustMyScrollbars();
|
||||
return;
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
// This is for the wxMSW tree control
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
if (scrolledWindow)
|
||||
{
|
||||
wxRect itemRect;
|
||||
if (GetBoundingRect(GetRootItem(), itemRect))
|
||||
{
|
||||
{
|
||||
// This is for the wxMSW tree control
|
||||
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
|
||||
if (scrolledWindow)
|
||||
{
|
||||
wxRect itemRect;
|
||||
if (GetBoundingRect(GetRootItem(), itemRect))
|
||||
{
|
||||
// Actually, the real height seems to be 1 less than reported
|
||||
// (e.g. 16 instead of 16)
|
||||
int itemHeight = itemRect.GetHeight() - 1;
|
||||
|
||||
int w, h;
|
||||
GetClientSize(&w, &h);
|
||||
int w, h;
|
||||
GetClientSize(&w, &h);
|
||||
|
||||
wxRect rect(0, 0, 0, 0);
|
||||
CalcTreeSize(rect);
|
||||
wxRect rect(0, 0, 0, 0);
|
||||
CalcTreeSize(rect);
|
||||
|
||||
double f = ((double) (rect.GetHeight()) / (double) itemHeight) ;
|
||||
int treeViewHeight = (int) ceil(f);
|
||||
|
||||
int scrollPixelsPerLine = itemHeight;
|
||||
int scrollPos = - (itemRect.y / itemHeight);
|
||||
int scrollPixelsPerLine = itemHeight;
|
||||
int scrollPos = - (itemRect.y / itemHeight);
|
||||
|
||||
scrolledWindow->SetScrollbars(0, scrollPixelsPerLine, 0, treeViewHeight, 0, scrollPos);
|
||||
scrolledWindow->SetScrollbars(0, scrollPixelsPerLine, 0, treeViewHeight, 0, scrollPos);
|
||||
|
||||
// Ensure that when a scrollbar becomes hidden or visible,
|
||||
// the contained window sizes are right.
|
||||
// Problem: this is called too early (?)
|
||||
wxSizeEvent event(scrolledWindow->GetSize(), scrolledWindow->GetId());
|
||||
scrolledWindow->GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Ensure that when a scrollbar becomes hidden or visible,
|
||||
// the contained window sizes are right.
|
||||
// Problem: this is called too early (?)
|
||||
wxSizeEvent event(scrolledWindow->GetSize(), scrolledWindow->GetId());
|
||||
scrolledWindow->GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -318,40 +367,40 @@ static wxRect CombineRectangles(const wxRect& rect1, const wxRect& rect2)
|
||||
// correctly
|
||||
void wxRemotelyScrolledTreeCtrl::CalcTreeSize(wxRect& rect)
|
||||
{
|
||||
CalcTreeSize(GetRootItem(), rect);
|
||||
CalcTreeSize(GetRootItem(), rect);
|
||||
}
|
||||
|
||||
void wxRemotelyScrolledTreeCtrl::CalcTreeSize(const wxTreeItemId& id, wxRect& rect)
|
||||
{
|
||||
// More efficient implementation would be to find the last item (but how?)
|
||||
// Q: is the bounding rect relative to the top of the virtual tree workspace
|
||||
// or the top of the window? How would we convert?
|
||||
wxRect itemSize;
|
||||
if (GetBoundingRect(id, itemSize))
|
||||
{
|
||||
rect = CombineRectangles(rect, itemSize);
|
||||
}
|
||||
// More efficient implementation would be to find the last item (but how?)
|
||||
// Q: is the bounding rect relative to the top of the virtual tree workspace
|
||||
// or the top of the window? How would we convert?
|
||||
wxRect itemSize;
|
||||
if (GetBoundingRect(id, itemSize))
|
||||
{
|
||||
rect = CombineRectangles(rect, itemSize);
|
||||
}
|
||||
|
||||
long cookie;
|
||||
wxTreeItemId childId = GetFirstChild(id, cookie);
|
||||
while (childId != 0)
|
||||
{
|
||||
CalcTreeSize(childId, rect);
|
||||
childId = GetNextChild(childId, cookie);
|
||||
}
|
||||
long cookie;
|
||||
wxTreeItemId childId = GetFirstChild(id, cookie);
|
||||
while (childId != 0)
|
||||
{
|
||||
CalcTreeSize(childId, rect);
|
||||
childId = GetNextChild(childId, cookie);
|
||||
}
|
||||
}
|
||||
|
||||
// Find the scrolled window that contains this control
|
||||
wxScrolledWindow* wxRemotelyScrolledTreeCtrl::GetScrolledWindow() const
|
||||
{
|
||||
wxWindow* parent = wxWindow::GetParent();
|
||||
while (parent)
|
||||
{
|
||||
if (parent->IsKindOf(CLASSINFO(wxScrolledWindow)))
|
||||
return (wxScrolledWindow*) parent;
|
||||
parent = parent->GetParent();
|
||||
}
|
||||
return NULL;
|
||||
wxWindow* parent = wxWindow::GetParent();
|
||||
while (parent)
|
||||
{
|
||||
if (parent->IsKindOf(CLASSINFO(wxScrolledWindow)))
|
||||
return (wxScrolledWindow*) parent;
|
||||
parent = parent->GetParent();
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void wxRemotelyScrolledTreeCtrl::OnScroll(wxScrollWinEvent& event)
|
||||
@@ -381,78 +430,78 @@ void wxRemotelyScrolledTreeCtrl::OnScroll(wxScrollWinEvent& event)
|
||||
IMPLEMENT_CLASS(wxTreeCompanionWindow, wxWindow)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxTreeCompanionWindow, wxWindow)
|
||||
EVT_PAINT(wxTreeCompanionWindow::OnPaint)
|
||||
EVT_SCROLLWIN(wxTreeCompanionWindow::OnScroll)
|
||||
EVT_TREE_ITEM_EXPANDED(-1, wxTreeCompanionWindow::OnExpand)
|
||||
EVT_TREE_ITEM_COLLAPSED(-1, wxTreeCompanionWindow::OnExpand)
|
||||
EVT_PAINT(wxTreeCompanionWindow::OnPaint)
|
||||
EVT_SCROLLWIN(wxTreeCompanionWindow::OnScroll)
|
||||
EVT_TREE_ITEM_EXPANDED(-1, wxTreeCompanionWindow::OnExpand)
|
||||
EVT_TREE_ITEM_COLLAPSED(-1, wxTreeCompanionWindow::OnExpand)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
wxTreeCompanionWindow::wxTreeCompanionWindow(wxWindow* parent, wxWindowID id,
|
||||
const wxPoint& pos,
|
||||
const wxSize& sz,
|
||||
long style):
|
||||
wxWindow(parent, id, pos, sz, style)
|
||||
wxWindow(parent, id, pos, sz, style)
|
||||
{
|
||||
m_treeCtrl = NULL;
|
||||
m_treeCtrl = NULL;
|
||||
}
|
||||
|
||||
void wxTreeCompanionWindow::DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect)
|
||||
{
|
||||
// TEST CODE
|
||||
// TEST CODE
|
||||
#if 1
|
||||
if (m_treeCtrl)
|
||||
{
|
||||
wxString text = m_treeCtrl->GetItemText(id);
|
||||
dc.SetTextForeground(* wxBLACK);
|
||||
dc.SetBackgroundMode(wxTRANSPARENT);
|
||||
if (m_treeCtrl)
|
||||
{
|
||||
wxString text = m_treeCtrl->GetItemText(id);
|
||||
dc.SetTextForeground(* wxBLACK);
|
||||
dc.SetBackgroundMode(wxTRANSPARENT);
|
||||
|
||||
int textW, textH;
|
||||
dc.GetTextExtent(text, & textW, & textH);
|
||||
int textW, textH;
|
||||
dc.GetTextExtent(text, & textW, & textH);
|
||||
|
||||
int x = 5;
|
||||
int y = rect.GetY() + wxMax(0, (rect.GetHeight() - textH) / 2);
|
||||
int x = 5;
|
||||
int y = rect.GetY() + wxMax(0, (rect.GetHeight() - textH) / 2);
|
||||
|
||||
dc.DrawText(text, x, y);
|
||||
}
|
||||
dc.DrawText(text, x, y);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void wxTreeCompanionWindow::OnPaint(wxPaintEvent& event)
|
||||
{
|
||||
wxPaintDC dc(this);
|
||||
wxPaintDC dc(this);
|
||||
|
||||
if (!m_treeCtrl)
|
||||
return;
|
||||
|
||||
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
|
||||
dc.SetPen(pen);
|
||||
dc.SetBrush(* wxTRANSPARENT_BRUSH);
|
||||
wxFont font(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
|
||||
dc.SetFont(font);
|
||||
dc.SetPen(pen);
|
||||
dc.SetBrush(* wxTRANSPARENT_BRUSH);
|
||||
wxFont font(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
|
||||
dc.SetFont(font);
|
||||
|
||||
wxSize clientSize = GetClientSize();
|
||||
wxRect itemRect;
|
||||
int cy=0;
|
||||
wxTreeItemId h, lastH;
|
||||
for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h))
|
||||
{
|
||||
if (m_treeCtrl->GetBoundingRect(h, itemRect))
|
||||
{
|
||||
cy = itemRect.GetTop();
|
||||
wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight());
|
||||
wxRect itemRect;
|
||||
int cy=0;
|
||||
wxTreeItemId h, lastH;
|
||||
for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h))
|
||||
{
|
||||
if (m_treeCtrl->GetBoundingRect(h, itemRect))
|
||||
{
|
||||
cy = itemRect.GetTop();
|
||||
wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight());
|
||||
|
||||
lastH = h;
|
||||
lastH = h;
|
||||
|
||||
// Draw the actual item
|
||||
DrawItem(dc, h, drawItemRect);
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
}
|
||||
}
|
||||
if (lastH.IsOk() && m_treeCtrl->GetBoundingRect(lastH, itemRect))
|
||||
{
|
||||
cy = itemRect.GetBottom();
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
}
|
||||
// Draw the actual item
|
||||
DrawItem(dc, h, drawItemRect);
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
}
|
||||
}
|
||||
if (lastH.IsOk() && m_treeCtrl->GetBoundingRect(lastH, itemRect))
|
||||
{
|
||||
cy = itemRect.GetBottom();
|
||||
dc.DrawLine(0, cy, clientSize.x, cy);
|
||||
}
|
||||
}
|
||||
|
||||
void wxTreeCompanionWindow::OnScroll(wxScrollWinEvent& event)
|
||||
@@ -466,15 +515,15 @@ void wxTreeCompanionWindow::OnScroll(wxScrollWinEvent& event)
|
||||
if (!m_treeCtrl)
|
||||
return;
|
||||
|
||||
// TODO: scroll the window physically instead of just refreshing.
|
||||
Refresh(TRUE);
|
||||
// TODO: scroll the window physically instead of just refreshing.
|
||||
Refresh(TRUE);
|
||||
}
|
||||
|
||||
void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event)
|
||||
{
|
||||
// TODO: something more optimized than simply refresh the whole
|
||||
// window when the tree is expanded/collapsed. Tricky.
|
||||
Refresh();
|
||||
// TODO: something more optimized than simply refresh the whole
|
||||
// window when the tree is expanded/collapsed. Tricky.
|
||||
Refresh();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -484,7 +533,7 @@ void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event)
|
||||
IMPLEMENT_CLASS(wxThinSplitterWindow, wxSplitterWindow)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxThinSplitterWindow, wxSplitterWindow)
|
||||
EVT_SIZE(wxThinSplitterWindow::OnSize)
|
||||
EVT_SIZE(wxThinSplitterWindow::OnSize)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
wxThinSplitterWindow::wxThinSplitterWindow(wxWindow* parent, wxWindowID id,
|
||||
@@ -497,9 +546,9 @@ wxThinSplitterWindow::wxThinSplitterWindow(wxWindow* parent, wxWindowID id,
|
||||
|
||||
void wxThinSplitterWindow::SizeWindows()
|
||||
{
|
||||
// The client size may have changed inbetween
|
||||
// the sizing of the first window and the sizing of
|
||||
// the second. So repeat SizeWindows.
|
||||
// The client size may have changed inbetween
|
||||
// the sizing of the first window and the sizing of
|
||||
// the second. So repeat SizeWindows.
|
||||
wxSplitterWindow::SizeWindows();
|
||||
wxSplitterWindow::SizeWindows();
|
||||
}
|
||||
@@ -507,7 +556,7 @@ void wxThinSplitterWindow::SizeWindows()
|
||||
// Tests for x, y over sash
|
||||
bool wxThinSplitterWindow::SashHitTest(int x, int y, int tolerance)
|
||||
{
|
||||
return wxSplitterWindow::SashHitTest(x, y, 4);
|
||||
return wxSplitterWindow::SashHitTest(x, y, 4);
|
||||
}
|
||||
|
||||
void wxThinSplitterWindow::DrawSash(wxDC& dc)
|
||||
@@ -520,34 +569,34 @@ void wxThinSplitterWindow::DrawSash(wxDC& dc)
|
||||
int w, h;
|
||||
GetClientSize(&w, &h);
|
||||
|
||||
if ( m_splitMode == wxSPLIT_VERTICAL )
|
||||
{
|
||||
dc.SetPen(* m_facePen);
|
||||
dc.SetBrush(* m_faceBrush);
|
||||
int h1 = h-1;
|
||||
int y1 = 0;
|
||||
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
|
||||
h1 += 1; // Not sure why this is necessary...
|
||||
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
|
||||
{
|
||||
y1 = 2; h1 -= 3;
|
||||
}
|
||||
dc.DrawRectangle(m_sashPosition, y1, m_sashSize, h1);
|
||||
}
|
||||
else
|
||||
{
|
||||
dc.SetPen(* m_facePen);
|
||||
dc.SetBrush(* m_faceBrush);
|
||||
int w1 = w-1;
|
||||
int x1 = 0;
|
||||
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
|
||||
w1 ++;
|
||||
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
|
||||
{
|
||||
x1 = 2; w1 -= 3;
|
||||
}
|
||||
dc.DrawRectangle(x1, m_sashPosition, w1, m_sashSize);
|
||||
}
|
||||
if ( m_splitMode == wxSPLIT_VERTICAL )
|
||||
{
|
||||
dc.SetPen(* m_facePen);
|
||||
dc.SetBrush(* m_faceBrush);
|
||||
int h1 = h-1;
|
||||
int y1 = 0;
|
||||
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
|
||||
h1 += 1; // Not sure why this is necessary...
|
||||
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
|
||||
{
|
||||
y1 = 2; h1 -= 3;
|
||||
}
|
||||
dc.DrawRectangle(m_sashPosition, y1, m_sashSize, h1);
|
||||
}
|
||||
else
|
||||
{
|
||||
dc.SetPen(* m_facePen);
|
||||
dc.SetBrush(* m_faceBrush);
|
||||
int w1 = w-1;
|
||||
int x1 = 0;
|
||||
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
|
||||
w1 ++;
|
||||
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
|
||||
{
|
||||
x1 = 2; w1 -= 3;
|
||||
}
|
||||
dc.DrawRectangle(x1, m_sashPosition, w1, m_sashSize);
|
||||
}
|
||||
|
||||
dc.SetPen(wxNullPen);
|
||||
dc.SetBrush(wxNullBrush);
|
||||
@@ -555,7 +604,7 @@ void wxThinSplitterWindow::DrawSash(wxDC& dc)
|
||||
|
||||
void wxThinSplitterWindow::OnSize(wxSizeEvent& event)
|
||||
{
|
||||
wxSplitterWindow::OnSize(event);
|
||||
wxSplitterWindow::OnSize(event);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -565,8 +614,8 @@ void wxThinSplitterWindow::OnSize(wxSizeEvent& event)
|
||||
IMPLEMENT_CLASS(wxSplitterScrolledWindow, wxScrolledWindow)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxSplitterScrolledWindow, wxScrolledWindow)
|
||||
EVT_SCROLLWIN(wxSplitterScrolledWindow::OnScroll)
|
||||
EVT_SIZE(wxSplitterScrolledWindow::OnSize)
|
||||
EVT_SCROLLWIN(wxSplitterScrolledWindow::OnScroll)
|
||||
EVT_SIZE(wxSplitterScrolledWindow::OnSize)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
wxSplitterScrolledWindow::wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id,
|
||||
@@ -579,11 +628,11 @@ wxSplitterScrolledWindow::wxSplitterScrolledWindow(wxWindow* parent, wxWindowID
|
||||
|
||||
void wxSplitterScrolledWindow::OnSize(wxSizeEvent& event)
|
||||
{
|
||||
wxSize sz = GetClientSize();
|
||||
if (GetChildren().First())
|
||||
{
|
||||
((wxWindow*) GetChildren().First()->Data())->SetSize(0, 0, sz.x, sz.y);
|
||||
}
|
||||
wxSize sz = GetClientSize();
|
||||
if (GetChildren().First())
|
||||
{
|
||||
((wxWindow*) GetChildren().First()->Data())->SetSize(0, 0, sz.x, sz.y);
|
||||
}
|
||||
}
|
||||
|
||||
void wxSplitterScrolledWindow::OnScroll(wxScrollWinEvent& event)
|
||||
|
@@ -134,6 +134,10 @@ SOURCE=.\sndg72x.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\sndmsad.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\sndpcm.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@@ -77,7 +77,7 @@ void wxSoundFormatMSAdpcm::SetCoefs(wxInt16 **coefs, wxUint16 ncoefs,
|
||||
delete[] m_coefs;
|
||||
}
|
||||
// TODO: Add some memory checking here
|
||||
m_coefs = new (wxInt16 *)[ncoefs];
|
||||
m_coefs = new wxInt16 *[ncoefs];
|
||||
|
||||
for (i=0;i<ncoefs;i++)
|
||||
m_coefs[i] = new wxInt16[coefs_len];
|
||||
|
@@ -288,7 +288,6 @@ wxShape::wxShape(wxShapeCanvas *can)
|
||||
m_textColour = wxBLACK;
|
||||
m_textColourName = "BLACK";
|
||||
m_visible = FALSE;
|
||||
m_clientData = NULL;
|
||||
m_selected = FALSE;
|
||||
m_attachmentMode = ATTACHMENT_MODE_NONE;
|
||||
m_spaceAttachments = TRUE;
|
||||
@@ -338,11 +337,6 @@ wxShape::~wxShape()
|
||||
if (m_canvas)
|
||||
m_canvas->RemoveShape(this);
|
||||
|
||||
if (m_clientData) {
|
||||
delete m_clientData;
|
||||
m_clientData = NULL;
|
||||
}
|
||||
|
||||
GetEventHandler()->OnDelete();
|
||||
}
|
||||
|
||||
@@ -997,8 +991,9 @@ void wxShape::OnEraseContents(wxDC& dc)
|
||||
if (m_pen)
|
||||
penWidth = m_pen->GetWidth();
|
||||
|
||||
dc.SetPen(* g_oglWhiteBackgroundPen);
|
||||
dc.SetBrush(* g_oglWhiteBackgroundBrush);
|
||||
dc.SetPen(GetBackgroundPen());
|
||||
dc.SetBrush(GetBackgroundBrush());
|
||||
|
||||
dc.DrawRectangle(WXROUND(topLeftX - penWidth), WXROUND(topLeftY - penWidth),
|
||||
WXROUND(maxX + penWidth*2.0 + 4.0), WXROUND(maxY + penWidth*2.0 + 4.0));
|
||||
}
|
||||
@@ -3281,3 +3276,25 @@ void wxShape::Rotate(double WXUNUSED(x), double WXUNUSED(y), double theta)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
wxPen wxShape::GetBackgroundPen()
|
||||
{
|
||||
if (GetCanvas())
|
||||
{
|
||||
wxColour c = GetCanvas()->GetBackgroundColour();
|
||||
return wxPen(c, 1, wxSOLID);
|
||||
}
|
||||
return * g_oglWhiteBackgroundPen;
|
||||
}
|
||||
|
||||
|
||||
wxBrush wxShape::GetBackgroundBrush()
|
||||
{
|
||||
if (GetCanvas())
|
||||
{
|
||||
wxColour c = GetCanvas()->GetBackgroundColour();
|
||||
return wxBrush(c, wxSOLID);
|
||||
}
|
||||
return * g_oglWhiteBackgroundBrush;
|
||||
}
|
||||
|
||||
|
@@ -61,8 +61,6 @@
|
||||
#define CONTROL_POINT_ENDPOINT_FROM 5
|
||||
#define CONTROL_POINT_LINE 6
|
||||
|
||||
extern wxCursor *g_oglBullseyeCursor;
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxShapeCanvas, wxScrolledWindow)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxShapeCanvas, wxScrolledWindow)
|
||||
@@ -94,10 +92,11 @@ void wxShapeCanvas::OnPaint(wxPaintEvent& event)
|
||||
|
||||
PrepareDC(dc);
|
||||
|
||||
dc.SetBackground(wxBrush(GetBackgroundColour(), wxSOLID));
|
||||
dc.Clear();
|
||||
|
||||
if (GetDiagram())
|
||||
GetDiagram()->Redraw(dc);
|
||||
if (GetDiagram())
|
||||
GetDiagram()->Redraw(dc);
|
||||
}
|
||||
|
||||
void wxShapeCanvas::OnMouseEvent(wxMouseEvent& event)
|
||||
|
@@ -288,8 +288,8 @@ void wxLineShape::DrawRegion(wxDC& dc, wxShapeRegion *region, double x, double y
|
||||
// First, clear a rectangle for the text IF there is any
|
||||
if (region->GetFormattedText().Number() > 0)
|
||||
{
|
||||
dc.SetPen(* g_oglWhiteBackgroundPen);
|
||||
dc.SetBrush(* g_oglWhiteBackgroundBrush);
|
||||
dc.SetPen(GetBackgroundPen());
|
||||
dc.SetBrush(GetBackgroundBrush());
|
||||
|
||||
// Now draw the text
|
||||
if (region->GetFont()) dc.SetFont(* region->GetFont());
|
||||
@@ -300,7 +300,7 @@ void wxLineShape::DrawRegion(wxDC& dc, wxShapeRegion *region, double x, double y
|
||||
dc.SetTextForeground(* region->GetActualColourObject());
|
||||
|
||||
#ifdef __WXMSW__
|
||||
dc.SetTextBackground(g_oglWhiteBackgroundBrush->GetColour());
|
||||
dc.SetTextBackground(GetBackgroundBrush().GetColour());
|
||||
#endif
|
||||
|
||||
oglDrawFormattedText(dc, &(region->GetFormattedText()), xp, yp, w, h, region->GetFormatMode());
|
||||
@@ -324,8 +324,8 @@ void wxLineShape::EraseRegion(wxDC& dc, wxShapeRegion *region, double x, double
|
||||
|
||||
if (region->GetFormattedText().Number() > 0)
|
||||
{
|
||||
dc.SetPen(* g_oglWhiteBackgroundPen);
|
||||
dc.SetBrush(* g_oglWhiteBackgroundBrush);
|
||||
dc.SetPen(GetBackgroundPen());
|
||||
dc.SetBrush(GetBackgroundBrush());
|
||||
|
||||
dc.DrawRectangle((long)(xp - w/2.0), (long)(yp - h/2.0), (long)w, (long)h);
|
||||
}
|
||||
@@ -853,8 +853,10 @@ void wxLineShape::OnErase(wxDC& dc)
|
||||
{
|
||||
wxPen *old_pen = m_pen;
|
||||
wxBrush *old_brush = m_brush;
|
||||
SetPen(g_oglWhiteBackgroundPen);
|
||||
SetBrush(g_oglWhiteBackgroundBrush);
|
||||
wxPen bg_pen = GetBackgroundPen();
|
||||
wxBrush bg_brush = GetBackgroundBrush();
|
||||
SetPen(&bg_pen);
|
||||
SetBrush(&bg_brush);
|
||||
|
||||
double bound_x, bound_y;
|
||||
GetBoundingBoxMax(&bound_x, &bound_y);
|
||||
@@ -874,8 +876,8 @@ void wxLineShape::OnErase(wxDC& dc)
|
||||
}
|
||||
|
||||
// Undraw line
|
||||
dc.SetPen(* g_oglWhiteBackgroundPen);
|
||||
dc.SetBrush(* g_oglWhiteBackgroundBrush);
|
||||
dc.SetPen(GetBackgroundPen());
|
||||
dc.SetBrush(GetBackgroundBrush());
|
||||
|
||||
// Drawing over the line only seems to work if the line has a thickness
|
||||
// of 1.
|
||||
@@ -1817,7 +1819,7 @@ void wxLineShape::OnSizingBeginDragLeft(wxControlPoint* pt, double x, double y,
|
||||
|
||||
if (lpt->m_type == CONTROL_POINT_ENDPOINT_FROM || lpt->m_type == CONTROL_POINT_ENDPOINT_TO)
|
||||
{
|
||||
m_canvas->SetCursor(* g_oglBullseyeCursor);
|
||||
m_canvas->SetCursor(wxCursor(wxCURSOR_BULLSEYE));
|
||||
lpt->m_oldCursor = wxSTANDARD_CURSOR;
|
||||
}
|
||||
}
|
||||
@@ -1933,7 +1935,7 @@ void wxLineControlPoint::OnBeginDragRight(double x, double y, int keys, int atta
|
||||
lineShape->GetTo()->GetEventHandler()->OnDraw(dc);
|
||||
lineShape->GetTo()->GetEventHandler()->OnDrawContents(dc);
|
||||
}
|
||||
m_canvas->SetCursor(g_oglBullseyeCursor);
|
||||
m_canvas->SetCursor(wxCursor(wxCURSOR_BULLSEYE));
|
||||
m_oldCursor = wxSTANDARD_CURSOR;
|
||||
}
|
||||
}
|
||||
|
@@ -49,11 +49,10 @@
|
||||
|
||||
wxFont* g_oglNormalFont;
|
||||
wxPen* g_oglBlackPen;
|
||||
wxPen* g_oglWhiteBackgroundPen;
|
||||
wxPen* g_oglTransparentPen;
|
||||
wxBrush* g_oglWhiteBackgroundBrush;
|
||||
wxPen* g_oglBlackForegroundPen;
|
||||
wxCursor* g_oglBullseyeCursor = NULL;
|
||||
wxPen* g_oglWhiteBackgroundPen;
|
||||
wxBrush* g_oglWhiteBackgroundBrush;
|
||||
|
||||
char* oglBuffer = NULL;
|
||||
|
||||
@@ -63,16 +62,12 @@ wxList oglObjectCopyMapping(wxKEY_INTEGER);
|
||||
|
||||
void wxOGLInitialize()
|
||||
{
|
||||
g_oglBullseyeCursor = new wxCursor(wxCURSOR_BULLSEYE);
|
||||
|
||||
g_oglNormalFont = new wxFont(10, wxSWISS, wxNORMAL, wxNORMAL);
|
||||
|
||||
g_oglBlackPen = new wxPen("BLACK", 1, wxSOLID);
|
||||
|
||||
g_oglWhiteBackgroundPen = new wxPen("WHITE", 1, wxSOLID);
|
||||
g_oglTransparentPen = new wxPen("WHITE", 1, wxTRANSPARENT);
|
||||
g_oglWhiteBackgroundBrush = new wxBrush("WHITE", wxSOLID);
|
||||
g_oglBlackForegroundPen = new wxPen("BLACK", 1, wxSOLID);
|
||||
g_oglNormalFont = wxTheFontList->FindOrCreateFont(10, wxSWISS, wxNORMAL, wxNORMAL);
|
||||
g_oglBlackPen = wxThePenList->FindOrCreatePen("BLACK", 1, wxSOLID);
|
||||
g_oglTransparentPen = wxThePenList->FindOrCreatePen("WHITE", 1, wxTRANSPARENT);
|
||||
g_oglBlackForegroundPen = wxThePenList->FindOrCreatePen("BLACK", 1, wxSOLID);
|
||||
g_oglWhiteBackgroundPen = wxThePenList->FindOrCreatePen("WHITE", 1, wxSOLID);
|
||||
g_oglWhiteBackgroundBrush = wxTheBrushList->FindOrCreateBrush("WHITE", wxSOLID);
|
||||
|
||||
OGLInitializeConstraintTypes();
|
||||
|
||||
@@ -89,42 +84,13 @@ void wxOGLCleanUp()
|
||||
oglBuffer = NULL;
|
||||
}
|
||||
oglBuffer = NULL;
|
||||
if (g_oglBullseyeCursor)
|
||||
{
|
||||
delete g_oglBullseyeCursor;
|
||||
g_oglBullseyeCursor = NULL;
|
||||
}
|
||||
|
||||
if (g_oglNormalFont)
|
||||
{
|
||||
delete g_oglNormalFont;
|
||||
g_oglNormalFont = NULL;
|
||||
}
|
||||
if (g_oglBlackPen)
|
||||
{
|
||||
delete g_oglBlackPen;
|
||||
g_oglBlackPen = NULL;
|
||||
}
|
||||
if (g_oglWhiteBackgroundPen)
|
||||
{
|
||||
delete g_oglWhiteBackgroundPen;
|
||||
g_oglWhiteBackgroundPen = NULL;
|
||||
}
|
||||
if (g_oglTransparentPen)
|
||||
{
|
||||
delete g_oglTransparentPen;
|
||||
g_oglTransparentPen = NULL;
|
||||
}
|
||||
if (g_oglWhiteBackgroundBrush)
|
||||
{
|
||||
delete g_oglWhiteBackgroundBrush;
|
||||
g_oglWhiteBackgroundBrush = NULL;
|
||||
}
|
||||
if (g_oglBlackForegroundPen)
|
||||
{
|
||||
delete g_oglBlackForegroundPen;
|
||||
g_oglBlackForegroundPen = NULL;
|
||||
}
|
||||
g_oglNormalFont = NULL; // These will be cleaned up by their GDI list
|
||||
g_oglBlackPen = NULL;
|
||||
g_oglTransparentPen = NULL;
|
||||
g_oglBlackForegroundPen = NULL;
|
||||
g_oglWhiteBackgroundPen = NULL;
|
||||
g_oglWhiteBackgroundBrush = NULL;
|
||||
|
||||
OGLCleanUpConstraintTypes();
|
||||
}
|
||||
|
@@ -22,7 +22,7 @@
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
const int H_SCROLL_MAX = 2000;
|
||||
const int H_SCROLL_MAX = 4000;
|
||||
const int H_SCROLL_STEP = 20;
|
||||
const int H_SCROLL_PAGE = 200;
|
||||
|
||||
@@ -138,7 +138,7 @@ void ScintillaWX::StartDrag() {
|
||||
dragText = evt.GetDragText();
|
||||
|
||||
if (dragText.Length()) {
|
||||
wxDropSource source(wMain.GetID());
|
||||
wxDropSource source(stc);
|
||||
wxTextDataObject data(dragText);
|
||||
wxDragResult result;
|
||||
|
||||
@@ -175,9 +175,9 @@ void ScintillaWX::SetTicking(bool on) {
|
||||
|
||||
void ScintillaWX::SetMouseCapture(bool on) {
|
||||
if (on && !capturedMouse)
|
||||
wMain.GetID()->CaptureMouse();
|
||||
stc->CaptureMouse();
|
||||
else if (!on && capturedMouse)
|
||||
wMain.GetID()->ReleaseMouse();
|
||||
stc->ReleaseMouse();
|
||||
capturedMouse = on;
|
||||
}
|
||||
|
||||
@@ -189,36 +189,69 @@ bool ScintillaWX::HaveMouseCapture() {
|
||||
|
||||
void ScintillaWX::ScrollText(int linesToMove) {
|
||||
int dy = vs.lineHeight * (linesToMove);
|
||||
wMain.GetID()->ScrollWindow(0, dy);
|
||||
wMain.GetID()->Update();
|
||||
stc->ScrollWindow(0, dy);
|
||||
stc->Update();
|
||||
}
|
||||
|
||||
void ScintillaWX::SetVerticalScrollPos() {
|
||||
wMain.GetID()->SetScrollPos(wxVERTICAL, topLine);
|
||||
if (stc->m_vScrollBar == NULL) { // Use built-in scrollbar
|
||||
stc->SetScrollPos(wxVERTICAL, topLine);
|
||||
}
|
||||
else { // otherwise use the one that's been given to us
|
||||
stc->m_vScrollBar->SetThumbPosition(topLine);
|
||||
}
|
||||
}
|
||||
|
||||
void ScintillaWX::SetHorizontalScrollPos() {
|
||||
wMain.GetID()->SetScrollPos(wxHORIZONTAL, xOffset);
|
||||
if (stc->m_hScrollBar == NULL) { // Use built-in scrollbar
|
||||
stc->SetScrollPos(wxHORIZONTAL, xOffset);
|
||||
}
|
||||
else { // otherwise use the one that's been given to us
|
||||
stc->m_hScrollBar->SetThumbPosition(xOffset);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool ScintillaWX::ModifyScrollBars(int nMax, int nPage) {
|
||||
bool modified = false;
|
||||
int sbMax = wMain.GetID()->GetScrollRange(wxVERTICAL);
|
||||
int sbThumb = wMain.GetID()->GetScrollThumb(wxVERTICAL);
|
||||
int sbPos = wMain.GetID()->GetScrollPos(wxVERTICAL);
|
||||
|
||||
|
||||
if (sbMax != nMax || sbThumb != nPage) {
|
||||
wMain.GetID()->SetScrollbar(wxVERTICAL, sbPos, nPage, nMax);
|
||||
modified = true;
|
||||
if (stc->m_vScrollBar == NULL) { // Use built-in scrollbar
|
||||
int sbMax = stc->GetScrollRange(wxVERTICAL);
|
||||
int sbThumb = stc->GetScrollThumb(wxVERTICAL);
|
||||
int sbPos = stc->GetScrollPos(wxVERTICAL);
|
||||
if (sbMax != nMax || sbThumb != nPage) {
|
||||
stc->SetScrollbar(wxVERTICAL, sbPos, nPage, nMax);
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
else { // otherwise use the one that's been given to us
|
||||
int sbMax = stc->m_vScrollBar->GetRange();
|
||||
int sbPage = stc->m_vScrollBar->GetPageSize();
|
||||
int sbPos = stc->m_vScrollBar->GetThumbPosition();
|
||||
if (sbMax != nMax || sbPage != nPage) {
|
||||
stc->m_vScrollBar->SetScrollbar(sbPos, nPage, nMax, nPage);
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
|
||||
sbMax = wMain.GetID()->GetScrollRange(wxHORIZONTAL);
|
||||
sbThumb = wMain.GetID()->GetScrollThumb(wxHORIZONTAL);
|
||||
if ((sbMax != H_SCROLL_MAX) || (sbThumb != H_SCROLL_STEP)) {
|
||||
wMain.GetID()->SetScrollbar(wxHORIZONTAL, 0, H_SCROLL_STEP, H_SCROLL_MAX);
|
||||
modified = true;
|
||||
|
||||
if (horizontalScrollBarVisible) {
|
||||
if (stc->m_hScrollBar == NULL) { // Use built-in scrollbar
|
||||
int sbMax = stc->GetScrollRange(wxHORIZONTAL);
|
||||
int sbThumb = stc->GetScrollThumb(wxHORIZONTAL);
|
||||
if ((sbMax != H_SCROLL_MAX) || (sbThumb != H_SCROLL_STEP)) {
|
||||
stc->SetScrollbar(wxHORIZONTAL, 0, H_SCROLL_STEP, H_SCROLL_MAX);
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
else { // otherwise use the one that's been given to us
|
||||
int sbMax = stc->m_hScrollBar->GetRange();
|
||||
int sbPage = stc->m_hScrollBar->GetPageSize();
|
||||
if ((sbMax != H_SCROLL_MAX) || (sbPage != H_SCROLL_STEP)) {
|
||||
stc->m_hScrollBar->SetScrollbar(0, H_SCROLL_STEP, H_SCROLL_MAX, H_SCROLL_STEP);
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return modified;
|
||||
}
|
||||
@@ -280,7 +313,7 @@ bool ScintillaWX::CanPaste() {
|
||||
}
|
||||
|
||||
void ScintillaWX::CreateCallTipWindow(PRectangle) {
|
||||
ct.wCallTip = new wxSTCCallTip(wMain.GetID(), -1, &ct);
|
||||
ct.wCallTip = new wxSTCCallTip(stc, -1, &ct);
|
||||
ct.wDraw = ct.wCallTip;
|
||||
}
|
||||
|
||||
@@ -345,19 +378,19 @@ void ScintillaWX::DoPaint(wxDC* dc, wxRect rect) {
|
||||
|
||||
void ScintillaWX::DoHScroll(int type, int pos) {
|
||||
int xPos = xOffset;
|
||||
if (type == wxEVT_SCROLLWIN_LINEUP)
|
||||
if (type == wxEVT_SCROLLWIN_LINEUP || type == wxEVT_SCROLL_LINEUP)
|
||||
xPos -= H_SCROLL_STEP;
|
||||
else if (type == wxEVT_SCROLLWIN_LINEDOWN)
|
||||
else if (type == wxEVT_SCROLLWIN_LINEDOWN || type == wxEVT_SCROLL_LINEDOWN)
|
||||
xPos += H_SCROLL_STEP;
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEUP)
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEUP || type == wxEVT_SCROLL_PAGEUP)
|
||||
xPos -= H_SCROLL_PAGE;
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEDOWN)
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEDOWN || type == wxEVT_SCROLL_PAGEDOWN)
|
||||
xPos += H_SCROLL_PAGE;
|
||||
else if (type == wxEVT_SCROLLWIN_TOP)
|
||||
else if (type == wxEVT_SCROLLWIN_TOP || type == wxEVT_SCROLL_TOP)
|
||||
xPos = 0;
|
||||
else if (type == wxEVT_SCROLLWIN_BOTTOM)
|
||||
else if (type == wxEVT_SCROLLWIN_BOTTOM || type == wxEVT_SCROLL_BOTTOM)
|
||||
xPos = H_SCROLL_MAX;
|
||||
else if (type == wxEVT_SCROLLWIN_THUMBTRACK)
|
||||
else if (type == wxEVT_SCROLLWIN_THUMBTRACK || type == wxEVT_SCROLL_THUMBTRACK)
|
||||
xPos = pos;
|
||||
|
||||
HorizontalScrollTo(xPos);
|
||||
@@ -365,19 +398,19 @@ void ScintillaWX::DoHScroll(int type, int pos) {
|
||||
|
||||
void ScintillaWX::DoVScroll(int type, int pos) {
|
||||
int topLineNew = topLine;
|
||||
if (type == wxEVT_SCROLLWIN_LINEUP)
|
||||
if (type == wxEVT_SCROLLWIN_LINEUP || type == wxEVT_SCROLL_LINEUP)
|
||||
topLineNew -= 1;
|
||||
else if (type == wxEVT_SCROLLWIN_LINEDOWN)
|
||||
else if (type == wxEVT_SCROLLWIN_LINEDOWN || type == wxEVT_SCROLL_LINEDOWN)
|
||||
topLineNew += 1;
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEUP)
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEUP || type == wxEVT_SCROLL_PAGEUP)
|
||||
topLineNew -= LinesToScroll();
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEDOWN)
|
||||
else if (type == wxEVT_SCROLLWIN_PAGEDOWN || type == wxEVT_SCROLL_PAGEDOWN)
|
||||
topLineNew += LinesToScroll();
|
||||
else if (type == wxEVT_SCROLLWIN_TOP)
|
||||
else if (type == wxEVT_SCROLLWIN_TOP || type == wxEVT_SCROLL_TOP)
|
||||
topLineNew = 0;
|
||||
else if (type == wxEVT_SCROLLWIN_BOTTOM)
|
||||
else if (type == wxEVT_SCROLLWIN_BOTTOM || type == wxEVT_SCROLL_BOTTOM)
|
||||
topLineNew = MaxScrollPos();
|
||||
else if (type == wxEVT_SCROLLWIN_THUMBTRACK)
|
||||
else if (type == wxEVT_SCROLLWIN_THUMBTRACK || type == wxEVT_SCROLL_THUMBTRACK)
|
||||
topLineNew = pos;
|
||||
|
||||
ScrollTo(topLineNew);
|
||||
@@ -565,13 +598,13 @@ void ScintillaWX::FullPaint() {
|
||||
paintState = painting;
|
||||
rcPaint = GetTextRectangle();
|
||||
paintingAllText = true;
|
||||
wxClientDC dc(wMain.GetID());
|
||||
wxClientDC dc(stc);
|
||||
Surface surfaceWindow;
|
||||
surfaceWindow.Init(&dc);
|
||||
Paint(&surfaceWindow, rcPaint);
|
||||
surfaceWindow.Release();
|
||||
|
||||
// wMain.GetID()->Refresh(FALSE);
|
||||
// stc->Refresh(FALSE);
|
||||
|
||||
paintState = notPainting;
|
||||
}
|
||||
|
@@ -103,6 +103,7 @@ DEFINE_EVENT_TYPE( wxEVT_STC_DO_DROP )
|
||||
BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
|
||||
EVT_PAINT (wxStyledTextCtrl::OnPaint)
|
||||
EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin)
|
||||
EVT_SCROLL (wxStyledTextCtrl::OnScroll)
|
||||
EVT_SIZE (wxStyledTextCtrl::OnSize)
|
||||
EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown)
|
||||
#ifdef __WXMSW__
|
||||
@@ -111,7 +112,11 @@ BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
|
||||
#endif
|
||||
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
|
||||
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
|
||||
#ifdef __WXGTK__
|
||||
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
|
||||
#else
|
||||
EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu)
|
||||
#endif
|
||||
EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
|
||||
EVT_CHAR (wxStyledTextCtrl::OnChar)
|
||||
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
|
||||
@@ -143,6 +148,8 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent,
|
||||
m_swx = new ScintillaWX(this);
|
||||
m_stopWatch.Start();
|
||||
m_lastKeyDownConsumed = FALSE;
|
||||
m_vScrollBar = NULL;
|
||||
m_hScrollBar = NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -1801,6 +1808,16 @@ void wxStyledTextCtrl::OnScrollWin(wxScrollWinEvent& evt) {
|
||||
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
|
||||
}
|
||||
|
||||
void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) {
|
||||
wxScrollBar* sb = wxDynamicCast(evt.GetEventObject(), wxScrollBar);
|
||||
if (sb) {
|
||||
if (sb->IsVertical())
|
||||
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
|
||||
else
|
||||
m_swx->DoHScroll(evt.GetEventType(), evt.GetPosition());
|
||||
}
|
||||
}
|
||||
|
||||
void wxStyledTextCtrl::OnSize(wxSizeEvent& evt) {
|
||||
wxSize sz = GetClientSize();
|
||||
m_swx->DoSize(sz.x, sz.y);
|
||||
@@ -1824,6 +1841,12 @@ void wxStyledTextCtrl::OnMouseLeftUp(wxMouseEvent& evt) {
|
||||
}
|
||||
|
||||
|
||||
void wxStyledTextCtrl::OnMouseRightUp(wxMouseEvent& evt) {
|
||||
wxPoint pt = evt.GetPosition();
|
||||
m_swx->DoContextMenu(Point(pt.x, pt.y));
|
||||
}
|
||||
|
||||
|
||||
void wxStyledTextCtrl::OnContextMenu(wxContextMenuEvent& evt) {
|
||||
wxPoint pt = evt.GetPosition();
|
||||
ScreenToClient(&pt.x, &pt.y);
|
||||
@@ -1856,7 +1879,7 @@ void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
|
||||
bool alt = evt.AltDown();
|
||||
bool skip = ((ctrl || alt) && ! (ctrl && alt));
|
||||
|
||||
if (key <= 0xff && !iscntrl(key) && !m_lastKeyDownConsumed && !skip) {
|
||||
if (key <= 0xff && key >= 32 && !m_lastKeyDownConsumed && !skip) {
|
||||
m_swx->DoAddChar(key);
|
||||
return;
|
||||
}
|
||||
@@ -2064,35 +2087,35 @@ bool wxStyledTextEvent::GetShift() const { return (m_modifiers & SCI_SHIFT) != 0
|
||||
bool wxStyledTextEvent::GetControl() const { return (m_modifiers & SCI_CTRL) != 0; }
|
||||
bool wxStyledTextEvent::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; }
|
||||
|
||||
void wxStyledTextEvent::CopyObject(wxObject& obj) const {
|
||||
wxCommandEvent::CopyObject(obj);
|
||||
|
||||
wxStyledTextEvent* o = (wxStyledTextEvent*)&obj;
|
||||
o->m_position = m_position;
|
||||
o->m_key = m_key;
|
||||
o->m_modifiers = m_modifiers;
|
||||
o->m_modificationType = m_modificationType;
|
||||
o->m_text = m_text;
|
||||
o->m_length = m_length;
|
||||
o->m_linesAdded = m_linesAdded;
|
||||
o->m_line = m_line;
|
||||
o->m_foldLevelNow = m_foldLevelNow;
|
||||
o->m_foldLevelPrev = m_foldLevelPrev;
|
||||
wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event):
|
||||
wxCommandEvent(event)
|
||||
{
|
||||
m_position = event.m_position;
|
||||
m_key = event.m_key;
|
||||
m_modifiers = event.m_modifiers;
|
||||
m_modificationType = event.m_modificationType;
|
||||
m_text = event.m_text;
|
||||
m_length = event.m_length;
|
||||
m_linesAdded = event.m_linesAdded;
|
||||
m_line = event.m_line;
|
||||
m_foldLevelNow = event.m_foldLevelNow;
|
||||
m_foldLevelPrev = event.m_foldLevelPrev;
|
||||
|
||||
o->m_margin = m_margin;
|
||||
m_margin = event.m_margin;
|
||||
|
||||
o->m_message = m_message;
|
||||
o->m_wParam = m_wParam;
|
||||
o->m_lParam = m_lParam;
|
||||
m_message = event.m_message;
|
||||
m_wParam = event.m_wParam;
|
||||
m_lParam = event.m_lParam;
|
||||
|
||||
o->m_listType = m_listType;
|
||||
o->m_x = m_x;
|
||||
o->m_y = m_y;
|
||||
m_listType = event.m_listType;
|
||||
m_x = event.m_x;
|
||||
m_y = event.m_y;
|
||||
|
||||
#if wxUSE_DRAG_AND_DROP
|
||||
o->m_dragText = m_dragText;
|
||||
o->m_dragAllowMove =m_dragAllowMove;
|
||||
o->m_dragResult = m_dragResult;
|
||||
m_dragText = event.m_dragText;
|
||||
m_dragAllowMove =event.m_dragAllowMove;
|
||||
m_dragResult = event.m_dragResult;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -2102,3 +2125,8 @@ void wxStyledTextEvent::CopyObject(wxObject& obj) const {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -103,6 +103,7 @@ DEFINE_EVENT_TYPE( wxEVT_STC_DO_DROP )
|
||||
BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
|
||||
EVT_PAINT (wxStyledTextCtrl::OnPaint)
|
||||
EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin)
|
||||
EVT_SCROLL (wxStyledTextCtrl::OnScroll)
|
||||
EVT_SIZE (wxStyledTextCtrl::OnSize)
|
||||
EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown)
|
||||
#ifdef __WXMSW__
|
||||
@@ -111,7 +112,11 @@ BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
|
||||
#endif
|
||||
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
|
||||
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
|
||||
#ifdef __WXGTK__
|
||||
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
|
||||
#else
|
||||
EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu)
|
||||
#endif
|
||||
EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
|
||||
EVT_CHAR (wxStyledTextCtrl::OnChar)
|
||||
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
|
||||
@@ -143,6 +148,8 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent,
|
||||
m_swx = new ScintillaWX(this);
|
||||
m_stopWatch.Start();
|
||||
m_lastKeyDownConsumed = FALSE;
|
||||
m_vScrollBar = NULL;
|
||||
m_hScrollBar = NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -345,6 +352,16 @@ void wxStyledTextCtrl::OnScrollWin(wxScrollWinEvent& evt) {
|
||||
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
|
||||
}
|
||||
|
||||
void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) {
|
||||
wxScrollBar* sb = wxDynamicCast(evt.GetEventObject(), wxScrollBar);
|
||||
if (sb) {
|
||||
if (sb->IsVertical())
|
||||
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
|
||||
else
|
||||
m_swx->DoHScroll(evt.GetEventType(), evt.GetPosition());
|
||||
}
|
||||
}
|
||||
|
||||
void wxStyledTextCtrl::OnSize(wxSizeEvent& evt) {
|
||||
wxSize sz = GetClientSize();
|
||||
m_swx->DoSize(sz.x, sz.y);
|
||||
@@ -368,6 +385,12 @@ void wxStyledTextCtrl::OnMouseLeftUp(wxMouseEvent& evt) {
|
||||
}
|
||||
|
||||
|
||||
void wxStyledTextCtrl::OnMouseRightUp(wxMouseEvent& evt) {
|
||||
wxPoint pt = evt.GetPosition();
|
||||
m_swx->DoContextMenu(Point(pt.x, pt.y));
|
||||
}
|
||||
|
||||
|
||||
void wxStyledTextCtrl::OnContextMenu(wxContextMenuEvent& evt) {
|
||||
wxPoint pt = evt.GetPosition();
|
||||
ScreenToClient(&pt.x, &pt.y);
|
||||
@@ -400,7 +423,7 @@ void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
|
||||
bool alt = evt.AltDown();
|
||||
bool skip = ((ctrl || alt) && ! (ctrl && alt));
|
||||
|
||||
if (key <= 0xff && !iscntrl(key) && !m_lastKeyDownConsumed && !skip) {
|
||||
if (key <= 0xff && key >= 32 && !m_lastKeyDownConsumed && !skip) {
|
||||
m_swx->DoAddChar(key);
|
||||
return;
|
||||
}
|
||||
@@ -608,35 +631,35 @@ bool wxStyledTextEvent::GetShift() const { return (m_modifiers & SCI_SHIFT) != 0
|
||||
bool wxStyledTextEvent::GetControl() const { return (m_modifiers & SCI_CTRL) != 0; }
|
||||
bool wxStyledTextEvent::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; }
|
||||
|
||||
void wxStyledTextEvent::CopyObject(wxObject& obj) const {
|
||||
wxCommandEvent::CopyObject(obj);
|
||||
|
||||
wxStyledTextEvent* o = (wxStyledTextEvent*)&obj;
|
||||
o->m_position = m_position;
|
||||
o->m_key = m_key;
|
||||
o->m_modifiers = m_modifiers;
|
||||
o->m_modificationType = m_modificationType;
|
||||
o->m_text = m_text;
|
||||
o->m_length = m_length;
|
||||
o->m_linesAdded = m_linesAdded;
|
||||
o->m_line = m_line;
|
||||
o->m_foldLevelNow = m_foldLevelNow;
|
||||
o->m_foldLevelPrev = m_foldLevelPrev;
|
||||
wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event):
|
||||
wxCommandEvent(event)
|
||||
{
|
||||
m_position = event.m_position;
|
||||
m_key = event.m_key;
|
||||
m_modifiers = event.m_modifiers;
|
||||
m_modificationType = event.m_modificationType;
|
||||
m_text = event.m_text;
|
||||
m_length = event.m_length;
|
||||
m_linesAdded = event.m_linesAdded;
|
||||
m_line = event.m_line;
|
||||
m_foldLevelNow = event.m_foldLevelNow;
|
||||
m_foldLevelPrev = event.m_foldLevelPrev;
|
||||
|
||||
o->m_margin = m_margin;
|
||||
m_margin = event.m_margin;
|
||||
|
||||
o->m_message = m_message;
|
||||
o->m_wParam = m_wParam;
|
||||
o->m_lParam = m_lParam;
|
||||
m_message = event.m_message;
|
||||
m_wParam = event.m_wParam;
|
||||
m_lParam = event.m_lParam;
|
||||
|
||||
o->m_listType = m_listType;
|
||||
o->m_x = m_x;
|
||||
o->m_y = m_y;
|
||||
m_listType = event.m_listType;
|
||||
m_x = event.m_x;
|
||||
m_y = event.m_y;
|
||||
|
||||
#if wxUSE_DRAG_AND_DROP
|
||||
o->m_dragText = m_dragText;
|
||||
o->m_dragAllowMove =m_dragAllowMove;
|
||||
o->m_dragResult = m_dragResult;
|
||||
m_dragText = event.m_dragText;
|
||||
m_dragAllowMove =event.m_dragAllowMove;
|
||||
m_dragResult = event.m_dragResult;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -646,3 +669,8 @@ void wxStyledTextEvent::CopyObject(wxObject& obj) const {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -148,6 +148,14 @@ public:
|
||||
// Send a message to Scintilla
|
||||
long SendMsg(int msg, long wp=0, long lp=0);
|
||||
|
||||
|
||||
// Set the vertical scrollbar to use instead of the ont that's built-in.
|
||||
void SetVScrollBar(wxScrollBar* bar) { m_vScrollBar = bar; }
|
||||
|
||||
|
||||
// Set the horizontal scrollbar to use instead of the ont that's built-in.
|
||||
void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -156,10 +164,12 @@ private:
|
||||
// Event handlers
|
||||
void OnPaint(wxPaintEvent& evt);
|
||||
void OnScrollWin(wxScrollWinEvent& evt);
|
||||
void OnScroll(wxScrollEvent& evt);
|
||||
void OnSize(wxSizeEvent& evt);
|
||||
void OnMouseLeftDown(wxMouseEvent& evt);
|
||||
void OnMouseMove(wxMouseEvent& evt);
|
||||
void OnMouseLeftUp(wxMouseEvent& evt);
|
||||
void OnMouseRightUp(wxMouseEvent& evt);
|
||||
void OnContextMenu(wxContextMenuEvent& evt);
|
||||
void OnMouseWheel(wxMouseEvent& evt);
|
||||
void OnChar(wxKeyEvent& evt);
|
||||
@@ -183,6 +193,8 @@ private:
|
||||
|
||||
ScintillaWX* m_swx;
|
||||
wxStopWatch m_stopWatch;
|
||||
wxScrollBar* m_vScrollBar;
|
||||
wxScrollBar* m_hScrollBar;
|
||||
|
||||
bool m_lastKeyDownConsumed;
|
||||
|
||||
@@ -196,6 +208,9 @@ private:
|
||||
class wxStyledTextEvent : public wxCommandEvent {
|
||||
public:
|
||||
wxStyledTextEvent(wxEventType commandType=0, int id=0);
|
||||
#ifndef SWIG
|
||||
wxStyledTextEvent(const wxStyledTextEvent& event);
|
||||
#endif
|
||||
~wxStyledTextEvent() {}
|
||||
|
||||
void SetPosition(int pos) { m_position = pos; }
|
||||
@@ -248,7 +263,7 @@ public:
|
||||
bool GetControl() const;
|
||||
bool GetAlt() const;
|
||||
|
||||
void CopyObject(wxObject& obj) const;
|
||||
virtual wxEvent* Clone() const { return new wxStyledTextEvent(*this); }
|
||||
|
||||
#ifndef SWIG
|
||||
private:
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_bmp.cpp
|
||||
// Purpose: XML resource for wxBitmap and wxIcon
|
||||
// Purpose: XRC resource for wxBitmap and wxIcon
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_bmpbt.cpp
|
||||
// Purpose: XML resource for bitmap buttons
|
||||
// Purpose: XRC resource for bitmap buttons
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_bttn.cpp
|
||||
// Purpose: XML resource for buttons
|
||||
// Purpose: XRC resource for buttons
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_cald.cpp
|
||||
// Purpose: XML resource for wxCalendarCtrl
|
||||
// Purpose: XRC resource for wxCalendarCtrl
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_chckb.cpp
|
||||
// Purpose: XML resource for wxCheckBox
|
||||
// Purpose: XRC resource for wxCheckBox
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_chckl.cpp
|
||||
// Purpose: XML resource for wxCheckList
|
||||
// Purpose: XRC resource for wxCheckList
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_choic.cpp
|
||||
// Purpose: XML resource for wxChoice
|
||||
// Purpose: XRC resource for wxChoice
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_combo.cpp
|
||||
// Purpose: XML resource for wxRadioBox
|
||||
// Purpose: XRC resource for wxRadioBox
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_dlg.cpp
|
||||
// Purpose: XML resource for dialogs
|
||||
// Purpose: XRC resource for dialogs
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
@@ -50,7 +50,7 @@ wxObject *wxDialogXmlHandler::DoCreateResource()
|
||||
{
|
||||
wxDialog *dlg = wxDynamicCast(m_instance, wxDialog);
|
||||
|
||||
wxASSERT_MSG(dlg, _("XML resource: Cannot create dialog without instance."));
|
||||
wxASSERT_MSG(dlg, _("XRC resource: Cannot create dialog without instance."));
|
||||
|
||||
dlg->Create(m_parentAsWindow,
|
||||
GetID(),
|
||||
@@ -64,7 +64,7 @@ wxObject *wxDialogXmlHandler::DoCreateResource()
|
||||
|
||||
CreateChildren(dlg);
|
||||
|
||||
if (GetBool(_("centered"), FALSE))
|
||||
if (GetBool(wxT("centered"), FALSE))
|
||||
dlg->Centre();
|
||||
|
||||
return dlg;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_frame.cpp
|
||||
// Purpose: XML resource for dialogs
|
||||
// Purpose: XRC resource for dialogs
|
||||
// Author: Vaclav Slavik & Aleks.
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
@@ -55,7 +55,7 @@ wxObject *wxFrameXmlHandler::DoCreateResource()
|
||||
{
|
||||
wxFrame *frame = wxDynamicCast(m_instance, wxFrame);
|
||||
|
||||
wxASSERT_MSG(frame, _("XML resource: Cannot create dialog without instance."));
|
||||
wxASSERT_MSG(frame, _("XRC resource: Cannot create dialog without instance."));
|
||||
|
||||
frame->Create(m_parentAsWindow,
|
||||
GetID(),
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_gauge.cpp
|
||||
// Purpose: XML resource for wxGauge
|
||||
// Purpose: XRC resource for wxGauge
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_html.cpp
|
||||
// Purpose: XML resource for wxHtmlWindow
|
||||
// Purpose: XRC resource for wxHtmlWindow
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_listb.cpp
|
||||
// Purpose: XML resource for wxListBox
|
||||
// Purpose: XRC resource for wxListBox
|
||||
// Author: Bob Mitchell & Vaclav Slavik
|
||||
// Created: 2000/07/29
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_listc.cpp
|
||||
// Purpose: XML resource for wxListCtrl
|
||||
// Purpose: XRC resource for wxListCtrl
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_menu.cpp
|
||||
// Purpose: XML resource for menus and menubars
|
||||
// Purpose: XRC resource for menus and menubars
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_notbk.cpp
|
||||
// Purpose: XML resource for wxNotebook
|
||||
// Purpose: XRC resource for wxNotebook
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_panel.cpp
|
||||
// Purpose: XML resource for panels
|
||||
// Purpose: XRC resource for panels
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_radbt.cpp
|
||||
// Purpose: XML resource for wxRadioButton
|
||||
// Purpose: XRC resource for wxRadioButton
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_radbx.cpp
|
||||
// Purpose: XML resource for wxRadioBox
|
||||
// Purpose: XRC resource for wxRadioBox
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_scrol.cpp
|
||||
// Purpose: XML resource for wxScrollBar
|
||||
// Purpose: XRC resource for wxScrollBar
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_sizer.cpp
|
||||
// Purpose: XML resource for wxBoxSizer
|
||||
// Purpose: XRC resource for wxBoxSizer
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
@@ -119,7 +119,7 @@ wxObject *wxSizerXmlHandler::DoCreateResource()
|
||||
|
||||
else if (m_class == wxT("spacer"))
|
||||
{
|
||||
wxCHECK_MSG(m_parentSizer, NULL, wxT("Incorrect syntax of XML resource: spacer not within sizer!"));
|
||||
wxCHECK_MSG(m_parentSizer, NULL, wxT("Incorrect syntax of XRC resource: spacer not within sizer!"));
|
||||
wxSize sz = GetSize();
|
||||
m_parentSizer->Add(sz.x, sz.y,
|
||||
GetLong(wxT("option")), GetStyle(wxT("flag")), GetDimension(wxT("border")));
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_slidr.cpp
|
||||
// Purpose: XML resource for wxSlider
|
||||
// Purpose: XRC resource for wxSlider
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_spin.cpp
|
||||
// Purpose: XML resource for wxSpinButton
|
||||
// Purpose: XRC resource for wxSpinButton
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_stbmp.cpp
|
||||
// Purpose: XML resource for wxStaticBitmap
|
||||
// Purpose: XRC resource for wxStaticBitmap
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/04/22
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_stbox.cpp
|
||||
// Purpose: XML resource for wxStaticBox
|
||||
// Purpose: XRC resource for wxStaticBox
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_stbox.cpp
|
||||
// Purpose: XML resource for wxStaticLine
|
||||
// Purpose: XRC resource for wxStaticLine
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_sttxt.cpp
|
||||
// Purpose: XML resource for wxStaticText
|
||||
// Purpose: XRC resource for wxStaticText
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_text.cpp
|
||||
// Purpose: XML resource for wxTextCtrl
|
||||
// Purpose: XRC resource for wxTextCtrl
|
||||
// Author: Aleksandras Gluchovas
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_toolb.cpp
|
||||
// Purpose: XML resource for wxBoxSizer
|
||||
// Purpose: XRC resource for wxBoxSizer
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/08/11
|
||||
// RCS-ID: $Id$
|
||||
@@ -40,7 +40,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
|
||||
{
|
||||
if (m_class == wxT("tool"))
|
||||
{
|
||||
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XML resource: tool not within a toolbar!"));
|
||||
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
|
||||
m_toolbar->AddTool(GetID(),
|
||||
GetBitmap(wxT("bitmap")),
|
||||
GetBitmap(wxT("bitmap2")),
|
||||
@@ -55,7 +55,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
|
||||
|
||||
else if (m_class == wxT("separator"))
|
||||
{
|
||||
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XML resource: separator not within a toolbar!"));
|
||||
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: separator not within a toolbar!"));
|
||||
m_toolbar->AddSeparator();
|
||||
return m_toolbar; // must return non-NULL
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_tree.cpp
|
||||
// Purpose: XML resource for wxTreeCtrl
|
||||
// Purpose: XRC resource for wxTreeCtrl
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_unkwn.cpp
|
||||
// Purpose: XML resource for unknown widget
|
||||
// Purpose: XRC resource for unknown widget
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
|
@@ -33,7 +33,7 @@
|
||||
|
||||
- handle unknown encodings
|
||||
- process all elements, including CDATA
|
||||
- XML resources should automatically select desired encoding based on
|
||||
- XRC resources should automatically select desired encoding based on
|
||||
runtime environment (?) (would need BIN and BINZ formats modification,
|
||||
too)
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xmlres.cpp
|
||||
// Purpose: XML resources
|
||||
// Purpose: XRC resources
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
@@ -310,7 +310,7 @@ void wxXmlResource::UpdateResources()
|
||||
}
|
||||
else if (m_data[i].Doc->GetRoot()->GetName() != wxT("resource"))
|
||||
{
|
||||
wxLogError(_("Invalid XML resource '%s': doesn't have root node 'resource'."), m_data[i].File.c_str());
|
||||
wxLogError(_("Invalid XRC resource '%s': doesn't have root node 'resource'."), m_data[i].File.c_str());
|
||||
wxDELETE(m_data[i].Doc);
|
||||
}
|
||||
else
|
||||
@@ -368,7 +368,7 @@ wxXmlNode *wxXmlResource::FindResource(const wxString& name, const wxString& cla
|
||||
}
|
||||
}
|
||||
|
||||
wxLogError(_("XML resource '%s' (class '%s') not found!"),
|
||||
wxLogError(_("XRC resource '%s' (class '%s') not found!"),
|
||||
name.c_str(), classname.c_str());
|
||||
return NULL;
|
||||
}
|
||||
@@ -494,12 +494,17 @@ int wxXmlResourceHandler::GetStyle(const wxString& param, int defaults)
|
||||
|
||||
wxString wxXmlResourceHandler::GetText(const wxString& param)
|
||||
{
|
||||
wxString str1 = GetParamValue(param);
|
||||
wxString str1;
|
||||
wxString str2;
|
||||
const wxChar *dt;
|
||||
wxChar amp_char;
|
||||
|
||||
// VS: First version of XML resources used $ instead of & (which is illegal in XML),
|
||||
if (m_resource->GetUseLocale())
|
||||
str1 = wxGetTranslation(GetParamValue(param));
|
||||
else
|
||||
str1 = GetParamValue(param);
|
||||
|
||||
// VS: First version of XRC resources used $ instead of & (which is illegal in XML),
|
||||
// but later I realized that '_' fits this purpose much better (because
|
||||
// &File means "File with F underlined").
|
||||
if (m_resource->CompareVersion(2,3,0,1) < 0)
|
||||
@@ -530,10 +535,7 @@ wxString wxXmlResourceHandler::GetText(const wxString& param)
|
||||
else str2 << *dt;
|
||||
}
|
||||
|
||||
if (m_resource->GetUseLocale())
|
||||
return wxGetTranslation(str2);
|
||||
else
|
||||
return str2;
|
||||
return str2;
|
||||
}
|
||||
|
||||
|
||||
@@ -601,7 +603,7 @@ wxColour wxXmlResourceHandler::GetColour(const wxString& param)
|
||||
if (v.Length() != 7 || v[0u] != wxT('#') ||
|
||||
wxSscanf(v.c_str(), wxT("#%lX"), &tmp) != 1)
|
||||
{
|
||||
wxLogError(_("XML resource: Incorrect colour specification '%s' for property '%s'."),
|
||||
wxLogError(_("XRC resource: Incorrect colour specification '%s' for property '%s'."),
|
||||
v.c_str(), param.c_str());
|
||||
return wxNullColour;
|
||||
}
|
||||
@@ -621,7 +623,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
|
||||
wxFSFile *fsfile = GetCurFileSystem().OpenFile(name);
|
||||
if (fsfile == NULL)
|
||||
{
|
||||
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||
wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||
return wxNullBitmap;
|
||||
}
|
||||
wxImage img(*(fsfile->GetStream()));
|
||||
@@ -631,7 +633,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
|
||||
#endif
|
||||
if (!img.Ok())
|
||||
{
|
||||
wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||
wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), param.c_str());
|
||||
return wxNullBitmap;
|
||||
}
|
||||
if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y);
|
||||
|
26
debian/changelog
vendored
26
debian/changelog
vendored
@@ -22,6 +22,32 @@ wxwindows2.3 (2.3.0) unstable; urgency=low
|
||||
|
||||
-- Ron Lee <ron@debian.org> Sat, 27 Jan 2001 01:51:24 -0800
|
||||
|
||||
wxwindows2.2 (2.2.8.5) unstable; urgency=low
|
||||
|
||||
* Add wxSIZE_T_IS defines to setup.h
|
||||
Add automate that to my TODO list.
|
||||
|
||||
-- Ron Lee <ron@debian.org> Tue, 27 Nov 2001 05:55:47 -0800
|
||||
|
||||
wxwindows2.2 (2.2.8.4) unstable; urgency=low
|
||||
|
||||
* Put the (modified) size_t == ulong kludge back into sndwav.cpp
|
||||
it's still needed until wxDataOutputStream is made 64 bit
|
||||
friendly, which may not happen for 2.2 since it will probably
|
||||
not be binary compatible.
|
||||
* caps a memory leak in the jpeg handler.
|
||||
|
||||
-- Ron Lee <ron@debian.org> Sun, 25 Nov 2001 11:53:59 -0800
|
||||
|
||||
wxwindows2.2 (2.2.8.3) unstable; urgency=low
|
||||
|
||||
* Backported size_t test from 2.3 tree, removes the need for
|
||||
specific tests for various 64 bit platforms including now
|
||||
S/390 (thanks to Gerhard Tonn for the report).
|
||||
Closes: #120768
|
||||
|
||||
-- Ron Lee <ron@debian.org> Fri, 23 Nov 2001 20:53:49 -0800
|
||||
|
||||
wxwindows2.2 (2.2.8.2) unstable; urgency=low
|
||||
|
||||
* python-dev doesn't get me python? More bytes in Build-Dep then
|
||||
|
@@ -1,4 +1,5 @@
|
||||
BombsM*Data
|
||||
bombsM5.mcp
|
||||
bombsM*Data
|
||||
*Classic?Debug*
|
||||
*Classic?Release*
|
||||
*Carbon?Debug*
|
||||
|
Binary file not shown.
3943
demos/bombs/bombsM5.xml
Normal file
3943
demos/bombs/bombsM5.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@
|
||||
# under Linux.
|
||||
#
|
||||
|
||||
CC = gcc
|
||||
CXX = $(shell wx-config --cxx)
|
||||
|
||||
PROGRAM = bombs
|
||||
|
||||
@@ -24,12 +24,12 @@ OBJECTS = $(PROGRAM).o game.o bombs1.o
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c `wx-config --cflags` -o $@ $<
|
||||
$(CXX) -c `wx-config --cxxflags` -o $@ $<
|
||||
|
||||
all: $(PROGRAM)
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
||||
|
@@ -1,4 +1,5 @@
|
||||
DbbrowseM*Data
|
||||
dbbrowseM5.mcp
|
||||
dbbrowseM*Data
|
||||
*Classic?Debug*
|
||||
*Classic?Release*
|
||||
*Carbon?Debug*
|
||||
|
Binary file not shown.
@@ -1,29 +0,0 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GEL<45>SCHT WERDEN!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "dbbrowse"=".\dbbrowse.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
4183
demos/dbbrowse/dbbrowseM5.xml
Normal file
4183
demos/dbbrowse/dbbrowseM5.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
||||
FortyM*Data
|
||||
fortyM5.mcp
|
||||
fortyM*Data
|
||||
*Classic?Debug*
|
||||
*Classic?Release*
|
||||
*Carbon?Debug*
|
||||
|
Binary file not shown.
4213
demos/forty/fortyM5.xml
Normal file
4213
demos/forty/fortyM5.xml
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user