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
|
||||
----------------------------------------
|
||||
|
77
Makefile.in
77
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,8 +573,10 @@ 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 $(DOCDIR)/$(TOOLKITDIR)/install.txt $(DISTDIR)/INSTALL.txt
|
||||
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
|
||||
cp $(DOCDIR)/$(TOOLKITDIR)/readme.txt $(DISTDIR)/README-$(TOOLKIT).txt
|
||||
@@ -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"` .
|
||||
|
||||
|
180
aclocal.m4
vendored
180
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,63 +50,156 @@ 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>
|
||||
|
||||
int
|
||||
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])
|
||||
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
|
||||
|
||||
|
@@ -79,7 +79,7 @@ WX_DEFINE_ARRAY( RowInfoPtrT, RowArrayT );
|
||||
|
||||
#define wxALL_PANES 0x000F
|
||||
|
||||
// enumeration of hittest results, see cbDockPane::HitTestPaneItems(..)
|
||||
// enumeration of hittest results, see cbDockPane::HitTestPaneItems(..)
|
||||
|
||||
enum CB_HITTEST_RESULT
|
||||
{
|
||||
@@ -100,7 +100,7 @@ enum CB_HITTEST_RESULT
|
||||
// helper class, used for spying for not-handled mouse events on control-bars
|
||||
// and forwarding them to the frame layout
|
||||
|
||||
class cbBarSpy : public wxEvtHandler
|
||||
class cbBarSpy : public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS( cbBarSpy )
|
||||
@@ -120,8 +120,8 @@ public:
|
||||
virtual bool ProcessEvent(wxEvent& event);
|
||||
};
|
||||
|
||||
/* wxFrameLayout manages containment and docking of control bars.
|
||||
* which can be docked along top, bottom, righ, or left side of the
|
||||
/* wxFrameLayout manages containment and docking of control bars.
|
||||
* which can be docked along top, bottom, righ, or left side of the
|
||||
* parent frame
|
||||
*/
|
||||
|
||||
@@ -130,8 +130,8 @@ class wxFrameLayout : public wxEvtHandler
|
||||
public:
|
||||
wxFrameLayout(void); // used only while serializing
|
||||
|
||||
wxFrameLayout( wxWindow* pParentFrame,
|
||||
wxWindow* pFrameClient = NULL,
|
||||
wxFrameLayout( wxWindow* pParentFrame,
|
||||
wxWindow* pFrameClient = NULL,
|
||||
bool activateNow = TRUE );
|
||||
|
||||
// (doesn't destroy bar windows)
|
||||
@@ -143,7 +143,7 @@ public:
|
||||
// Can be called after some other layout has been deactivated,
|
||||
// and this one must "take over" the current contents of frame window.
|
||||
//
|
||||
// Effectively hooks itself to the frame window, re-displays all not-hidden
|
||||
// Effectively hooks itself to the frame window, re-displays all not-hidden
|
||||
// bar-windows and repaints decorations
|
||||
|
||||
virtual void Activate();
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
// unhooks itself from frame window, and hides all not-hidden windows
|
||||
//
|
||||
// NOTE:: two frame-layouts should not be active at the same time in the
|
||||
// same frame window, it would cause messy overlapping of bar windows
|
||||
// same frame window, it would cause messy overlapping of bar windows
|
||||
// from both layouts
|
||||
|
||||
virtual void Deactivate();
|
||||
@@ -163,8 +163,8 @@ public:
|
||||
virtual void DestroyBarWindows();
|
||||
|
||||
// passes the client window (e.g. MDI-client frame) to be controled by
|
||||
// frame layout, the size and position of which should be adjusted to be
|
||||
// surrounded by controlbar panes, whenever frame is resized, or dimensions
|
||||
// frame layout, the size and position of which should be adjusted to be
|
||||
// surrounded by controlbar panes, whenever frame is resized, or dimensions
|
||||
// of control panes change
|
||||
|
||||
void SetFrameClient( wxWindow* pFrameClient );
|
||||
@@ -176,7 +176,7 @@ public:
|
||||
// used by updates-managers
|
||||
cbDockPane** GetPanesArray() { return mPanes; }
|
||||
|
||||
// see pane alignment types
|
||||
// see pane alignment types
|
||||
cbDockPane* GetPane( int alignment )
|
||||
|
||||
{ return mPanes[alignment]; }
|
||||
@@ -187,11 +187,11 @@ public:
|
||||
// NOTES:: argument pBarWnd can by NULL, resulting bar decorations to be drawn
|
||||
// around the empty rectangle (filled with default background colour).
|
||||
// Argument dimInfo, can be re-used for adding any number of bars, since
|
||||
// it is not used directly, instead it's members are copied. If dimensions-
|
||||
// handler is present, it's instance shared (reference counted). Dimension
|
||||
// it is not used directly, instead it's members are copied. If dimensions-
|
||||
// handler is present, it's instance shared (reference counted). Dimension
|
||||
// handler should always be allocated on the heap!)
|
||||
|
||||
virtual void AddBar( wxWindow* pBarWnd,
|
||||
virtual void AddBar( wxWindow* pBarWnd,
|
||||
const cbDimInfo& dimInfo,
|
||||
|
||||
// defaults:
|
||||
@@ -201,13 +201,13 @@ public:
|
||||
const wxString& name="bar",// name, by which the bar could be referred
|
||||
// in layout customization dialogs
|
||||
|
||||
bool spyEvents = FALSE, // if TRUE - input events for the bar should
|
||||
// be "spyed" in order to forward not-handled
|
||||
// mouse clicks to frame layout (e.g. to enable
|
||||
// easy-draggablity of toolbars just by clicking
|
||||
// on their interior regions). For widgets like
|
||||
// text/tree control this value should be FALSE
|
||||
// (since there's _no_ certain way to detect
|
||||
bool spyEvents = FALSE, // if TRUE - input events for the bar should
|
||||
// be "spyed" in order to forward not-handled
|
||||
// mouse clicks to frame layout (e.g. to enable
|
||||
// easy-draggablity of toolbars just by clicking
|
||||
// on their interior regions). For widgets like
|
||||
// text/tree control this value should be FALSE
|
||||
// (since there's _no_ certain way to detect
|
||||
// whether the event was actually handled...)
|
||||
|
||||
int state = wxCBAR_DOCKED_HORIZONTALLY // e.g. wxCBAR_FLOATING
|
||||
@@ -217,10 +217,10 @@ public:
|
||||
// can be used for repositioning already existing bars. The given bar is first removed
|
||||
// from the pane it currently belongs to, and inserted into the pane, which "matches"
|
||||
// the given recantular area. If pToPane is not NULL, bar is docked to this given pane
|
||||
|
||||
|
||||
// to dock the bar which is floated, use wxFrameLayout::DockBar(..) method
|
||||
|
||||
virtual bool RedockBar( cbBarInfo* pBar, const wxRect& shapeInParent,
|
||||
virtual bool RedockBar( cbBarInfo* pBar, const wxRect& shapeInParent,
|
||||
cbDockPane* pToPane = NULL, bool updateNow = TRUE );
|
||||
|
||||
// methods for access and modification of bars in frame layout
|
||||
@@ -255,9 +255,9 @@ public:
|
||||
wxRect& GetClientRect() { return mClntWndBounds; }
|
||||
|
||||
// NOTE:: in future ubdates-manager will become a normal plugin
|
||||
|
||||
|
||||
cbUpdatesManagerBase& GetUpdatesManager();
|
||||
|
||||
|
||||
// destroys the previous manager if any, set the new one
|
||||
|
||||
void SetUpdatesManager( cbUpdatesManagerBase* pUMgr );
|
||||
@@ -266,7 +266,7 @@ public:
|
||||
|
||||
virtual void GetPaneProperties( cbCommonPaneProperties& props, int alignment = FL_ALIGN_TOP );
|
||||
|
||||
virtual void SetPaneProperties( const cbCommonPaneProperties& props,
|
||||
virtual void SetPaneProperties( const cbCommonPaneProperties& props,
|
||||
int paneMask = wxALL_PANES );
|
||||
|
||||
// TODO:: margins should go into cbCommonPaneProperties in the future
|
||||
@@ -295,11 +295,11 @@ public:
|
||||
/*** plugin-related methods ***/
|
||||
|
||||
// should be used, instead of passing the event to ProcessEvent(..) method
|
||||
// of the top-plugin directly. This method checks if events are currently
|
||||
// of the top-plugin directly. This method checks if events are currently
|
||||
// captured and ensures that plugin-event is routed correctly.
|
||||
|
||||
virtual void FirePluginEvent( cbPluginEvent& event );
|
||||
|
||||
|
||||
// captures/releases user-input event's for the given plugin
|
||||
// Input events are: mouse movement, mouse clicks, keyboard input
|
||||
|
||||
@@ -312,7 +312,7 @@ public:
|
||||
|
||||
// returns current top-level plugin (the one which receives events first,
|
||||
// with an exception if input-events are currently captured by some other plugin)
|
||||
|
||||
|
||||
virtual cbPluginBase& GetTopPlugin();
|
||||
|
||||
// hooking custom plugins to frame layout
|
||||
@@ -340,7 +340,7 @@ public:
|
||||
// default plugins are : cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin,
|
||||
// cbAntiflickerPlugin, cbSimpleCustomizePlugin
|
||||
//
|
||||
// this method is automatically invoked, if no plugins were found upon
|
||||
// this method is automatically invoked, if no plugins were found upon
|
||||
// fireing of the first plugin-event, i.e. wxFrameLayout *CONFIGURES* itself
|
||||
|
||||
virtual void PushDefaultPlugins();
|
||||
@@ -348,7 +348,7 @@ public:
|
||||
/* "Advanced" methods for plugin-configuration using their */
|
||||
/* dynamic class information (e.g. CLASSINFO(pluginClass) ) */
|
||||
|
||||
// first checks if plugin of the given class is already "hooked up",
|
||||
// first checks if plugin of the given class is already "hooked up",
|
||||
// if not, adds it to the top of plugins chain
|
||||
|
||||
virtual void AddPlugin( wxClassInfo* pPlInfo, int paneMask = wxALL_PANES );
|
||||
@@ -363,14 +363,14 @@ public:
|
||||
// thefore the former should be hooked before the one
|
||||
// who's functionality is being overriden
|
||||
|
||||
virtual void AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo,
|
||||
virtual void AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo,
|
||||
int paneMask = wxALL_PANES );
|
||||
|
||||
// checks if plugin of the given class is hooked, removes
|
||||
// it if found
|
||||
//
|
||||
// @param pPlInfo class information structure for the plugin
|
||||
// @note
|
||||
// @note
|
||||
// @see wxFrameLayout::Method
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@ public: /* protected really, acessed only by plugins and serializers */
|
||||
|
||||
// pane, from which mouse pointer had just left
|
||||
|
||||
cbDockPane* mpLRUPane;
|
||||
cbDockPane* mpLRUPane;
|
||||
|
||||
// bounds of client window in parent frame's coordinates
|
||||
|
||||
@@ -432,11 +432,11 @@ public: /* protected really, acessed only by plugins and serializers */
|
||||
|
||||
cbPluginBase* mpTopPlugin;
|
||||
|
||||
// plugin, which currently has captured all input events, otherwise NULL
|
||||
// plugin, which currently has captured all input events, otherwise NULL
|
||||
|
||||
cbPluginBase* mpCaputesInput;
|
||||
|
||||
// list of event handlers which are "pushed" onto each bar, to catch
|
||||
// list of event handlers which are "pushed" onto each bar, to catch
|
||||
// mouse events which are not handled by bars, and froward them to the ,
|
||||
// frome-layout and further to plugins
|
||||
|
||||
@@ -457,7 +457,7 @@ public: /* protected really, acessed only by plugins and serializers */
|
||||
|
||||
public: /* protected really (accessed only by plugins) */
|
||||
|
||||
// refrence to custom updates manager
|
||||
// refrence to custom updates manager
|
||||
cbUpdatesManagerBase* mpUpdatesMgr;
|
||||
|
||||
// called to set calculated layout to window objects
|
||||
@@ -468,7 +468,7 @@ public: /* protected really (accessed only by plugins) */
|
||||
void RepositionFloatedBar( cbBarInfo* pBar );
|
||||
void DoSetBarState( cbBarInfo* pBar );
|
||||
|
||||
bool LocateBar( cbBarInfo* pBarInfo,
|
||||
bool LocateBar( cbBarInfo* pBarInfo,
|
||||
cbRowInfo** ppRow,
|
||||
cbDockPane** ppPane );
|
||||
|
||||
@@ -481,7 +481,7 @@ public: /* protected really (accessed only by plugins) */
|
||||
cbDockPane* GetBarPane( cbBarInfo* pBar );
|
||||
|
||||
// delegated from "bar-spy"
|
||||
void ForwardMouseEvent( wxMouseEvent& event,
|
||||
void ForwardMouseEvent( wxMouseEvent& event,
|
||||
cbDockPane* pToPane,
|
||||
int eventType );
|
||||
|
||||
@@ -513,8 +513,8 @@ public: /* protected really (accessed only by plugins) */
|
||||
|
||||
/* structure, which is present in each item of layout,
|
||||
* it used by any specific updates-manager to store
|
||||
* auxilary information to be used by it's specific
|
||||
* updating algorithm
|
||||
* auxilary information to be used by it's specific
|
||||
* updating algorithm
|
||||
*/
|
||||
|
||||
class cbUpdateMgrData : public wxObject
|
||||
@@ -525,7 +525,7 @@ public:
|
||||
|
||||
bool mIsDirty; // overrides result of current-against-previous bounds comparison,
|
||||
// i.e. requires item to be updated, regardless of it's current area
|
||||
|
||||
|
||||
wxObject* mpCustomData; // any custom data stored by specific updates mgr.
|
||||
|
||||
cbUpdateMgrData(); // is-dirty flag is set TRUE initially
|
||||
@@ -540,8 +540,8 @@ public:
|
||||
};
|
||||
|
||||
/* Abstract interface for bar-size handler classes.
|
||||
* These objects receive notifications, whenever the docking
|
||||
* state of the bar is changed, thus they have a possibility
|
||||
* These objects receive notifications, whenever the docking
|
||||
* state of the bar is changed, thus they have a possibility
|
||||
* to adjust the values in cbDimInfo::mSizes accordingly.
|
||||
* Specific handlers can be hooked to specific types of bars.
|
||||
*/
|
||||
@@ -590,7 +590,7 @@ public:
|
||||
// from the bar's actual window, filled
|
||||
// with frame's beckground color, default: 0
|
||||
|
||||
int mVertGap;
|
||||
int mVertGap;
|
||||
|
||||
// left/right gap, separates decorations
|
||||
// from the bar's actual window, filled
|
||||
@@ -604,7 +604,7 @@ public:
|
||||
|
||||
bool mIsFixed;
|
||||
|
||||
cbBarDimHandlerBase* mpHandler; // NULL, if no handler present
|
||||
cbBarDimHandlerBase* mpHandler; // NULL, if no handler present
|
||||
|
||||
public:
|
||||
|
||||
@@ -625,18 +625,18 @@ public:
|
||||
cbBarDimHandlerBase* pDimHandler = NULL
|
||||
);
|
||||
|
||||
cbDimInfo( int x, int y,
|
||||
bool isFixed = TRUE,
|
||||
int gap = 6,
|
||||
cbDimInfo( int x, int y,
|
||||
bool isFixed = TRUE,
|
||||
int gap = 6,
|
||||
cbBarDimHandlerBase* pDimHandler = NULL
|
||||
);
|
||||
);
|
||||
|
||||
const cbDimInfo& operator=( const cbDimInfo& other );
|
||||
|
||||
// destroys handler automatically, if present
|
||||
~cbDimInfo();
|
||||
|
||||
inline cbBarDimHandlerBase* GetDimHandler() { return mpHandler; }
|
||||
inline cbBarDimHandlerBase* GetDimHandler() { return mpHandler; }
|
||||
};
|
||||
|
||||
WX_DEFINE_ARRAY(float, cbArrayFloat);
|
||||
@@ -679,7 +679,7 @@ public:
|
||||
|
||||
// convenience method
|
||||
|
||||
inline cbBarInfo* GetFirstBar()
|
||||
inline cbBarInfo* GetFirstBar()
|
||||
|
||||
{ return mBars.GetCount() ? mBars[0] : NULL; }
|
||||
};
|
||||
@@ -692,20 +692,20 @@ public:
|
||||
wxString mName;
|
||||
|
||||
// stores bar's bounds in pane's coordinates
|
||||
wxRect mBounds;
|
||||
wxRect mBounds;
|
||||
|
||||
// stores precalculated bar's bounds in parent frame's coordinates
|
||||
wxRect mBoundsInParent;
|
||||
wxRect mBoundsInParent;
|
||||
|
||||
// back-ref to the row, which contains this bar
|
||||
cbRowInfo* mpRow;
|
||||
cbRowInfo* mpRow;
|
||||
|
||||
// are set up according to the types of the surrounding bars in the row
|
||||
bool mHasLeftHandle;
|
||||
bool mHasRightHandle;
|
||||
|
||||
cbDimInfo mDimInfo; // preferred sizes for each, control bar state
|
||||
|
||||
|
||||
int mState; // (see definition of controlbar states)
|
||||
|
||||
int mAlignment; // alignment of the pane to which this
|
||||
@@ -721,7 +721,7 @@ public:
|
||||
|
||||
wxPoint mPosIfFloated; // stored last position when bar was in "floated" state
|
||||
// poistion is stored in parent-window's coordinates
|
||||
|
||||
|
||||
cbUpdateMgrData mUMgrData; // info stored for updates-manager
|
||||
|
||||
cbBarInfo* mpNext; // next. bar in the row
|
||||
@@ -760,14 +760,14 @@ public:
|
||||
|
||||
void Reset();
|
||||
bool Next(); // TRUE, if next bar is available
|
||||
|
||||
|
||||
cbBarInfo& BarInfo();
|
||||
|
||||
// returns reference to currently traversed row
|
||||
cbRowInfo& RowInfo();
|
||||
};
|
||||
|
||||
/* structure holds configuration options,
|
||||
/* structure holds configuration options,
|
||||
* which are usually the same for all panes in
|
||||
* frame layout
|
||||
*/
|
||||
@@ -795,16 +795,16 @@ class cbCommonPaneProperties : public wxObject
|
||||
|
||||
// minimal dimensions for not-fixed bars in this pane (16x16 default)
|
||||
|
||||
wxSize mMinCBarDim;
|
||||
wxSize mMinCBarDim;
|
||||
|
||||
// width/height of resizing sash
|
||||
|
||||
|
||||
int mResizeHandleSize;
|
||||
|
||||
cbCommonPaneProperties(void);
|
||||
};
|
||||
|
||||
/* class manages containment and control of control-bars
|
||||
/* class manages containment and control of control-bars
|
||||
* along one of the four edges of the parent frame
|
||||
*/
|
||||
|
||||
@@ -822,10 +822,10 @@ public:
|
||||
int mRightMargin; // default: 2 pixels
|
||||
int mTopMargin; // default: 2 pixels
|
||||
int mBottomMargin; // default: 2 pixels
|
||||
|
||||
|
||||
public:
|
||||
// position of the pane in frame's coordinates
|
||||
wxRect mBoundsInParent;
|
||||
wxRect mBoundsInParent;
|
||||
|
||||
// pane width and height in pane's coordinates
|
||||
int mPaneWidth;
|
||||
@@ -843,7 +843,7 @@ public: /* protected really */
|
||||
|
||||
// transient properties
|
||||
|
||||
wxList mRowShapeData; // shapes of bars of recently modified row,
|
||||
wxList mRowShapeData; // shapes of bars of recently modified row,
|
||||
// stored when in "non-destructive-firction" mode
|
||||
cbRowInfo* mpStoredRow; // row-info for which the shapes are stored
|
||||
|
||||
@@ -859,8 +859,8 @@ public: /* protected really (accessed only by plugins) */
|
||||
int GetRowAt( int paneY );
|
||||
int GetRowAt( int upperY, int lowerY );
|
||||
|
||||
// re-setups flags in the row-information structure, so that
|
||||
// the would match the changed state of row-items correctly
|
||||
// re-setups flags in the row-information structure, so that
|
||||
// the would match the changed state of row-items correctly
|
||||
void SyncRowFlags( cbRowInfo* pRow );
|
||||
|
||||
// layout "AI" helpers:
|
||||
@@ -886,7 +886,7 @@ public: /* protected really (accessed only by plugins) */
|
||||
void InitLinksForRow( cbRowInfo* pRow );
|
||||
void InitLinksForRows();
|
||||
|
||||
// coordinate translation between parent's frame and this pane
|
||||
// coordinate translation between parent's frame and this pane
|
||||
|
||||
void FrameToPane( int* x, int* y );
|
||||
void PaneToFrame( int* x, int* y );
|
||||
@@ -904,7 +904,7 @@ public: /* protected really (accessed only by plugins) */
|
||||
|
||||
public: /* protected really (accessed only by plugins) */
|
||||
|
||||
// methods for incramental on-screen refreshing of the pane
|
||||
// methods for incramental on-screen refreshing of the pane
|
||||
// (simply, they are wrappers around corresponding plugin-events)
|
||||
|
||||
virtual void PaintBarDecorations( cbBarInfo* pBar, wxDC& dc );
|
||||
@@ -941,7 +941,7 @@ public: /* public members */
|
||||
virtual void RemoveBar( cbBarInfo* pBar );
|
||||
|
||||
// rect given in the parent frame's coordinates
|
||||
|
||||
|
||||
virtual void InsertBar( cbBarInfo* pBar, const wxRect& atRect );
|
||||
|
||||
// inserts bar into the given row, with dimensions and position
|
||||
@@ -949,7 +949,7 @@ public: /* public members */
|
||||
|
||||
virtual void InsertBar( cbBarInfo* pBar, cbRowInfo* pIntoRow );
|
||||
|
||||
// inserts bar, sets its position according to the preferred settings
|
||||
// inserts bar, sets its position according to the preferred settings
|
||||
// given in (*pBarInfo) structure
|
||||
|
||||
virtual void InsertBar( cbBarInfo* pBarInfo );
|
||||
@@ -957,7 +957,7 @@ public: /* public members */
|
||||
// does not destroy the row object, only removes the corresponding
|
||||
// node from this pane
|
||||
virtual void RemoveRow( cbRowInfo* pRow );
|
||||
|
||||
|
||||
// does not refresh the inserted row immediately,
|
||||
// if pBeforeRowNode arg. is NULL, row is appended to the end of pane's row list
|
||||
virtual void InsertRow( cbRowInfo* pRow, cbRowInfo* pBeforeRow );
|
||||
@@ -975,8 +975,8 @@ public: /* public members */
|
||||
|
||||
// convenience method
|
||||
|
||||
inline cbRowInfo* GetFirstRow()
|
||||
|
||||
inline cbRowInfo* GetFirstRow()
|
||||
|
||||
{ return mRows.GetCount() ? mRows[0] : NULL; }
|
||||
|
||||
// TRUE, if the given bar node presents in this pane
|
||||
@@ -1053,7 +1053,7 @@ public:
|
||||
: mpLayout( pPanel ) {}
|
||||
|
||||
virtual ~cbUpdatesManagerBase() {}
|
||||
|
||||
|
||||
void SetLayout( wxFrameLayout* pLayout ) { mpLayout = pLayout; }
|
||||
|
||||
// notificiactions received from frame-layout (in the order, in which
|
||||
@@ -1089,7 +1089,7 @@ public:
|
||||
cbDockPane* mpPane; // NULL, if event is not addressed to any specific pane
|
||||
|
||||
/* OLD STUFF::
|
||||
// FOR NOW FOR NOW:: all-in-one plugin event structure
|
||||
// FOR NOW FOR NOW:: all-in-one plugin event structure
|
||||
wxNode* mpObjNode;
|
||||
wxNode* mpObjNodeAux;
|
||||
wxPoint mPos;
|
||||
@@ -1098,15 +1098,18 @@ 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 )
|
||||
|
||||
|
||||
{ m_eventType = eventType; }
|
||||
#else
|
||||
cbPluginEvent( int eventType, cbDockPane* pPane )
|
||||
: mpPane( pPane )
|
||||
|
||||
|
||||
{ m_eventType = eventType; }
|
||||
#endif
|
||||
};
|
||||
@@ -1160,7 +1163,7 @@ public:
|
||||
|
||||
#define cbEVT_PL_LEFT_DCLICK 5
|
||||
|
||||
#define cbEVT_PL_LAYOUT_ROW 6
|
||||
#define cbEVT_PL_LAYOUT_ROW 6
|
||||
#define cbEVT_PL_RESIZE_ROW 7
|
||||
#define cbEVT_PL_LAYOUT_ROWS 8
|
||||
#define cbEVT_PL_INSERT_BAR 9
|
||||
@@ -1224,7 +1227,7 @@ class cbCustomizeBarEvent;
|
||||
class cbCustomizeLayoutEvent;
|
||||
|
||||
// defs. for handler-methods
|
||||
|
||||
|
||||
typedef void (wxEvtHandler::*cbLeftDownHandler )(cbLeftDownEvent&);
|
||||
typedef void (wxEvtHandler::*cbLeftUpHandler )(cbLeftUpEvent&);
|
||||
typedef void (wxEvtHandler::*cbRightDownHandler )(cbRightDownEvent&);
|
||||
@@ -1266,7 +1269,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
|
||||
#define EVT_PL_RIGHT_UP(func) wxEventTableEntry( cbEVT_PL_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRightUpHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_MOTION(func) wxEventTableEntry( cbEVT_PL_MOTION, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbMotionHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_LEFT_DCLICK(func) wxEventTableEntry( cbEVT_PL_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLeftDClickHandler ) & func, (wxObject *) NULL ),
|
||||
|
||||
|
||||
#define EVT_PL_LAYOUT_ROW(func) wxEventTableEntry( cbEVT_PL_LAYOUT_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_RESIZE_ROW(func) wxEventTableEntry( cbEVT_PL_RESIZE_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeRowHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_LAYOUT_ROWS(func) wxEventTableEntry( cbEVT_PL_LAYOUT_ROWS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowsHandler ) & func, (wxObject *) NULL ),
|
||||
@@ -1274,7 +1277,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
|
||||
#define EVT_PL_RESIZE_BAR(func) wxEventTableEntry( cbEVT_PL_RESIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeBarHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_REMOVE_BAR(func) wxEventTableEntry( cbEVT_PL_REMOVE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRemoveBarHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_SIZE_BAR_WND(func) wxEventTableEntry( cbEVT_PL_SIZE_BAR_WND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbSizeBarWndHandler ) & func, (wxObject *) NULL ),
|
||||
|
||||
|
||||
#define EVT_PL_DRAW_BAR_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_BAR_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawBarDecorHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_DRAW_ROW_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowDecorHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_DRAW_PANE_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_PANE_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneDecorHandler ) & func, (wxObject *) NULL ),
|
||||
@@ -1282,7 +1285,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
|
||||
#define EVT_PL_DRAW_ROW_HANDLES(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_HANDLES, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowHandlesHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_DRAW_ROW_BKGROUND(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowBkGroundHandler ) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_DRAW_PANE_BKGROUND(func) wxEventTableEntry( cbEVT_PL_DRAW_PANE_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneBkGroundHandler) & func, (wxObject *) NULL ),
|
||||
|
||||
|
||||
#define EVT_PL_START_BAR_DRAGGING(func) wxEventTableEntry( cbEVT_PL_START_BAR_DRAGGING, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbStartBarDraggingHandler) & func, (wxObject *) NULL ),
|
||||
#define EVT_PL_DRAW_HINT_RECT(func) wxEventTableEntry( cbEVT_PL_DRAW_HINT_RECT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawHintRectHandler ) & func, (wxObject *) NULL ),
|
||||
|
||||
@@ -1299,7 +1302,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
|
||||
#define EVT_PL_RIGHT_UP(func) { cbEVT_PL_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRightUpHandler ) & func },
|
||||
#define EVT_PL_MOTION(func) { cbEVT_PL_MOTION, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbMotionHandler ) & func },
|
||||
#define EVT_PL_LEFT_DCLICK(func) { cbEVT_PL_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLeftDClickHandler ) & func },
|
||||
|
||||
|
||||
#define EVT_PL_LAYOUT_ROW(func) { cbEVT_PL_LAYOUT_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowHandler ) & func },
|
||||
#define EVT_PL_RESIZE_ROW(func) { cbEVT_PL_RESIZE_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeRowHandler ) & func },
|
||||
#define EVT_PL_LAYOUT_ROWS(func) { cbEVT_PL_LAYOUT_ROWS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowsHandler ) & func },
|
||||
@@ -1307,7 +1310,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
|
||||
#define EVT_PL_RESIZE_BAR(func) { cbEVT_PL_RESIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeBarHandler ) & func },
|
||||
#define EVT_PL_REMOVE_BAR(func) { cbEVT_PL_REMOVE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRemoveBarHandler ) & func },
|
||||
#define EVT_PL_SIZE_BAR_WND(func) { cbEVT_PL_SIZE_BAR_WND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbSizeBarWndHandler ) & func },
|
||||
|
||||
|
||||
#define EVT_PL_DRAW_BAR_DECOR(func) { cbEVT_PL_DRAW_BAR_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawBarDecorHandler ) & func },
|
||||
#define EVT_PL_DRAW_ROW_DECOR(func) { cbEVT_PL_DRAW_ROW_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowDecorHandler ) & func },
|
||||
#define EVT_PL_DRAW_PANE_DECOR(func) { cbEVT_PL_DRAW_PANE_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneDecorHandler ) & func },
|
||||
@@ -1315,7 +1318,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
|
||||
#define EVT_PL_DRAW_ROW_HANDLES(func) { cbEVT_PL_DRAW_ROW_HANDLES, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowHandlesHandler ) & func },
|
||||
#define EVT_PL_DRAW_ROW_BKGROUND(func) { cbEVT_PL_DRAW_ROW_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowBkGroundHandler ) & func },
|
||||
#define EVT_PL_DRAW_PANE_BKGROUND(func) { cbEVT_PL_DRAW_PANE_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneBkGroundHandler) & func },
|
||||
|
||||
|
||||
#define EVT_PL_START_BAR_DRAGGING(func) { cbEVT_PL_START_BAR_DRAGGING, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbStartBarDraggingHandler) & func },
|
||||
#define EVT_PL_DRAW_HINT_RECT(func) { cbEVT_PL_DRAW_HINT_RECT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawHintRectHandler ) & func },
|
||||
|
||||
@@ -1325,8 +1328,8 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
|
||||
#define EVT_PL_CUSTOMIZE_BAR(func) { cbEVT_PL_CUSTOMIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbCustomizeBarHandler) & func },
|
||||
#define EVT_PL_CUSTOMIZE_LAYOUT(func) { cbEVT_PL_CUSTOMIZE_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbCustomizeLayoutHandler) & func },
|
||||
#endif
|
||||
/*
|
||||
* abstract base class for all control-bar related plugins
|
||||
/*
|
||||
* abstract base class for all control-bar related plugins
|
||||
*/
|
||||
|
||||
class cbPluginBase : public wxEvtHandler
|
||||
@@ -1334,23 +1337,23 @@ class cbPluginBase : public wxEvtHandler
|
||||
DECLARE_ABSTRACT_CLASS( cbPluginBase )
|
||||
public:
|
||||
|
||||
wxFrameLayout* mpLayout; // back-reference to the frame layout
|
||||
wxFrameLayout* mpLayout; // back-reference to the frame layout
|
||||
|
||||
// specifies panes, for which this plugin receives events
|
||||
// (see pane masks definitions)
|
||||
int mPaneMask;
|
||||
int mPaneMask;
|
||||
|
||||
bool mIsReady; // is TRUE, when plugin is ready to handle events
|
||||
|
||||
public:
|
||||
cbPluginBase(void)
|
||||
cbPluginBase(void)
|
||||
|
||||
: mpLayout ( 0 ),
|
||||
mPaneMask( wxALL_PANES ),
|
||||
mIsReady ( FALSE )
|
||||
{}
|
||||
|
||||
cbPluginBase( wxFrameLayout* pPanel, int paneMask = wxALL_PANES )
|
||||
cbPluginBase( wxFrameLayout* pPanel, int paneMask = wxALL_PANES )
|
||||
|
||||
: mpLayout ( pPanel ),
|
||||
mPaneMask( paneMask ),
|
||||
|
@@ -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,15 +17,21 @@
|
||||
|
||||
#include "wx/panel.h"
|
||||
|
||||
#ifdef GIZMOISDLL
|
||||
#define GIZMODLLEXPORT WXDLLEXPORT
|
||||
#else
|
||||
#define GIZMODLLEXPORT
|
||||
#endif
|
||||
|
||||
|
||||
class WXDLLEXPORT wxBitmapButton;
|
||||
class WXDLLEXPORT wxListCtrl;
|
||||
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,10 +181,10 @@ 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
|
||||
|
||||
|
||||
void OnSize(wxSizeEvent& event);
|
||||
|
||||
//// Operations
|
||||
@@ -197,7 +205,7 @@ protected:
|
||||
* scroll appropriately.
|
||||
*/
|
||||
|
||||
class wxSplitterScrolledWindow: public wxScrolledWindow
|
||||
class GIZMODLLEXPORT wxSplitterScrolledWindow: public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow)
|
||||
@@ -210,7 +218,7 @@ public:
|
||||
//// Overrides
|
||||
|
||||
//// Events
|
||||
|
||||
|
||||
void OnScroll(wxScrollWinEvent& event);
|
||||
void OnSize(wxSizeEvent& event);
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -53,20 +53,20 @@ void oglDrawFormattedText(wxDC& context, wxList *text_list,
|
||||
// Give it a list of points, finds the centre.
|
||||
void oglFindPolylineCentroid(wxList *points, double *x, double *y);
|
||||
|
||||
void oglCheckLineIntersection(double x1, double y1, double x2, double y2,
|
||||
void oglCheckLineIntersection(double x1, double y1, double x2, double y2,
|
||||
double x3, double y3, double x4, double y4,
|
||||
double *ratio1, double *ratio2);
|
||||
|
||||
void oglFindEndForPolyline(double n, double xvec[], double yvec[],
|
||||
void oglFindEndForPolyline(double n, double xvec[], double yvec[],
|
||||
double x1, double y1, double x2, double y2, double *x3, double *y3);
|
||||
|
||||
|
||||
void oglFindEndForBox(double width, double height,
|
||||
void oglFindEndForBox(double width, double height,
|
||||
double x1, double y1, // Centre of box (possibly)
|
||||
double x2, double y2, // other end of line
|
||||
double *x3, double *y3); // End on box edge
|
||||
|
||||
void oglFindEndForCircle(double radius,
|
||||
void oglFindEndForCircle(double radius,
|
||||
double x1, double y1, // Centre of circle
|
||||
double x2, double y2, // Other end of line
|
||||
double *x3, double *y3);
|
||||
@@ -83,7 +83,7 @@ void oglGetArrowPoints(double x1, double y1, double x2, double y2,
|
||||
* This function assumes that the centre of the ellipse is at x1, y1, and the
|
||||
* ellipse has a width of a1 and a height of b1. It also assumes you are
|
||||
* wanting to draw an arc FROM point x2, y2 TOWARDS point x3, y3.
|
||||
* This function calculates the x,y coordinates of the intersection point of
|
||||
* This function calculates the x,y coordinates of the intersection point of
|
||||
* the arc with the ellipse.
|
||||
* Author: Ian Harrison
|
||||
*/
|
||||
@@ -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 ) )
|
||||
|
||||
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 );
|
||||
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 );
|
||||
|
||||
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 )
|
||||
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
if ( !isFixed )
|
||||
{
|
||||
if ( mpPane->IsHorizontal() )
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
|
||||
if ( mCollapseBoxOn )
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
}
|
||||
if ( mCollapseBoxOn )
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mCloseBoxOn )
|
||||
|
||||
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
|
||||
|
||||
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 );
|
||||
if ( mCollapseBoxOn )
|
||||
|
||||
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
|
||||
}
|
||||
}
|
||||
|
||||
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 );
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
isAtLeft= info.mBounds.x <= mpPane->mPaneWidth - ( info.mBounds.x + info.mBounds.width );
|
||||
|
||||
bool& isAtLeft = ((cbCollapseBox*)(mBoxes[COLLAPSE_BOX_IDX]))->mIsAtLeft;
|
||||
|
||||
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() )
|
||||
|
||||
mActiveViewNo = -1;
|
||||
if ( mActiveViewNo >= mViews.Number() )
|
||||
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 ) )
|
||||
|
||||
return FALSE;
|
||||
if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) )
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -7,19 +7,19 @@
|
||||
CFG=GizmosVC - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "GizmosVC.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "GizmosVC.mak" CFG="GizmosVC - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
!MESSAGE "GizmosVC - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "GizmosVC - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
@@ -76,7 +76,7 @@ LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"..\..\..\lib\gizmosd.lib"
|
||||
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
@@ -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)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@@ -82,7 +82,7 @@ END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_CLASS(wxEditableListBox, wxPanel)
|
||||
|
||||
enum
|
||||
enum
|
||||
{
|
||||
// ID value doesn't matter, it won't propagate out of wxEditableListBox
|
||||
// instance
|
||||
@@ -111,7 +111,7 @@ wxEditableListBox::wxEditableListBox(wxWindow *parent, wxWindowID id,
|
||||
: wxPanel(parent, id, pos, size, wxTAB_TRAVERSAL, name), m_edittingNew(FALSE)
|
||||
{
|
||||
wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
|
||||
wxPanel *subp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
|
||||
wxSUNKEN_BORDER | wxTAB_TRAVERSAL);
|
||||
wxSizer *subsizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
@@ -121,25 +121,32 @@ 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);
|
||||
subsizer->Add(m_bUp, 0, wxALIGN_CENTRE_VERTICAL);
|
||||
subsizer->Add(m_bDown, 0, wxALIGN_CENTRE_VERTICAL);
|
||||
|
||||
|
||||
subp->SetAutoLayout(TRUE);
|
||||
subp->SetSizer(subsizer);
|
||||
subsizer->Fit(subp);
|
||||
|
||||
|
||||
sizer->Add(subp, 0, wxEXPAND);
|
||||
m_listCtrl = new CleverListCtrl(this, wxID_ELD_LISTCTRL,
|
||||
m_listCtrl = new CleverListCtrl(this, wxID_ELD_LISTCTRL,
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
wxLC_REPORT | wxLC_NO_HEADER |
|
||||
wxLC_REPORT | wxLC_NO_HEADER |
|
||||
wxLC_SINGLE_SEL | wxSUNKEN_BORDER |
|
||||
wxLC_EDIT_LABELS);
|
||||
wxArrayString empty_ar;
|
||||
SetStrings(empty_ar);
|
||||
|
||||
|
||||
sizer->Add(m_listCtrl, 1, wxEXPAND);
|
||||
|
||||
SetAutoLayout(TRUE);
|
||||
@@ -151,11 +158,11 @@ void wxEditableListBox::SetStrings(const wxArrayString& strings)
|
||||
{
|
||||
m_listCtrl->DeleteAllItems();
|
||||
size_t i;
|
||||
|
||||
|
||||
for (i = 0; i < strings.GetCount(); i++)
|
||||
m_listCtrl->InsertItem(i, strings[i]);
|
||||
|
||||
m_listCtrl->InsertItem(strings.GetCount(), _T(""));
|
||||
|
||||
m_listCtrl->InsertItem(strings.GetCount(), _T(""));
|
||||
m_listCtrl->SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
|
||||
}
|
||||
|
||||
@@ -178,7 +185,7 @@ void wxEditableListBox::OnItemSelected(wxListEvent& event)
|
||||
|
||||
void wxEditableListBox::OnNewItem(wxCommandEvent& event)
|
||||
{
|
||||
m_listCtrl->SetItemState(m_listCtrl->GetItemCount()-1,
|
||||
m_listCtrl->SetItemState(m_listCtrl->GetItemCount()-1,
|
||||
wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
|
||||
m_edittingNew = TRUE;
|
||||
m_listCtrl->EditLabel(m_selection);
|
||||
@@ -197,7 +204,7 @@ void wxEditableListBox::OnEndLabelEdit(wxListEvent& event)
|
||||
void wxEditableListBox::OnDelItem(wxCommandEvent& event)
|
||||
{
|
||||
m_listCtrl->DeleteItem(m_selection);
|
||||
m_listCtrl->SetItemState(m_selection,
|
||||
m_listCtrl->SetItemState(m_selection,
|
||||
wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
|
||||
}
|
||||
|
||||
@@ -209,7 +216,7 @@ void wxEditableListBox::OnEditItem(wxCommandEvent& event)
|
||||
void wxEditableListBox::OnUpItem(wxCommandEvent& event)
|
||||
{
|
||||
wxString t1, t2;
|
||||
|
||||
|
||||
t1 = m_listCtrl->GetItemText(m_selection - 1);
|
||||
t2 = m_listCtrl->GetItemText(m_selection);
|
||||
m_listCtrl->SetItemText(m_selection - 1, t2);
|
||||
@@ -221,7 +228,7 @@ void wxEditableListBox::OnUpItem(wxCommandEvent& event)
|
||||
void wxEditableListBox::OnDownItem(wxCommandEvent& event)
|
||||
{
|
||||
wxString t1, t2;
|
||||
|
||||
|
||||
t1 = m_listCtrl->GetItemText(m_selection + 1);
|
||||
t2 = m_listCtrl->GetItemText(m_selection);
|
||||
m_listCtrl->SetItemText(m_selection + 1, t2);
|
||||
|
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();
|
||||
}
|
@@ -2,7 +2,7 @@
|
||||
# File: makefile.b32
|
||||
# Author: Julian Smart
|
||||
# Created: 1999
|
||||
# Updated:
|
||||
# Updated:
|
||||
# Copyright:
|
||||
#
|
||||
# Makefile : Builds Gizmos library for 32-bit BC++
|
||||
@@ -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
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
# File: makefile.bcc
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
# Updated:
|
||||
#
|
||||
# Builds Gizmos library for BC++, 16-bit
|
||||
|
||||
@@ -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);
|
||||
|
||||
wxRect rect(0, 0, 0, 0);
|
||||
CalcTreeSize(rect);
|
||||
|
||||
int w, h;
|
||||
GetClientSize(&w, &h);
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int scrollPixelsPerLine = itemHeight;
|
||||
int scrollPos = - (itemRect.y / itemHeight);
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -302,10 +351,10 @@ static wxRect CombineRectangles(const wxRect& rect1, const wxRect& rect2)
|
||||
int bottom1 = rect1.GetBottom();
|
||||
int right2 = rect2.GetRight();
|
||||
int bottom2 = rect2.GetBottom();
|
||||
|
||||
|
||||
wxPoint topLeft = wxPoint(wxMin(rect1.x, rect2.x), wxMin(rect1.y, rect2.y));
|
||||
wxPoint bottomRight = wxPoint(wxMax(right1, right2), wxMax(bottom1, bottom2));
|
||||
|
||||
|
||||
rect.x = topLeft.x; rect.y = topLeft.y;
|
||||
rect.SetRight(bottomRight.x);
|
||||
rect.SetBottom(bottomRight.y);
|
||||
@@ -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,42 +569,42 @@ 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);
|
||||
}
|
||||
|
||||
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)
|
||||
@@ -597,7 +646,7 @@ void wxSplitterScrolledWindow::OnScroll(wxScrollWinEvent& event)
|
||||
return;
|
||||
}
|
||||
inOnScroll = TRUE;
|
||||
|
||||
|
||||
int orient = event.GetOrientation();
|
||||
|
||||
int nScrollInc = CalcScrollInc(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)
|
||||
@@ -529,11 +534,8 @@ 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