Compare commits
239 Commits
BEFORE_VOL
...
v2.3.2
Author | SHA1 | Date | |
---|---|---|---|
|
0d8a8bf477 | ||
|
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 |
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
|
||||
----------------------------------------
|
||||
|
46
Makefile.in
46
Makefile.in
@@ -436,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 \
|
||||
@@ -532,8 +535,6 @@ ALL_DIST: distclean
|
||||
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)
|
||||
@@ -543,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
|
||||
@@ -556,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
|
||||
@@ -573,7 +573,9 @@ ALL_DIST: distclean
|
||||
# this target is the common part of distribution script for all GUI toolkits,
|
||||
# but is not used when building wxBase distribution
|
||||
ALL_GUI_DIST: ALL_DIST
|
||||
cp $(WXDIR)/wxBase.spec $(DISTDIR)
|
||||
cp $(WXDIR)/configure.in $(DISTDIR)
|
||||
cp $(WXDIR)/configure $(DISTDIR)
|
||||
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
|
||||
cp $(DOCDIR)/$(TOOLKITDIR)/install.txt $(DISTDIR)/INSTALL.txt
|
||||
if test -f $(DOCDIR)/$(TOOLKITDIR)/changes.txt ; then \
|
||||
cp $(DOCDIR)/$(TOOLKITDIR)/changes.txt $(DISTDIR)/CHANGES-$(TOOLKIT).txt ; fi
|
||||
@@ -621,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
|
||||
@@ -640,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
|
||||
@@ -673,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
|
||||
@@ -702,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
|
||||
@@ -711,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
|
||||
|
||||
@@ -761,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
|
||||
@@ -771,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
|
||||
@@ -813,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
|
||||
@@ -825,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
|
||||
@@ -833,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
|
||||
@@ -845,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
|
||||
@@ -861,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
|
||||
@@ -1319,6 +1311,7 @@ MANUAL_DIST:
|
||||
PYTHON_DIST:
|
||||
mkdir $(DISTDIR)/wxPython
|
||||
mkdir $(DISTDIR)/wxPython/contrib
|
||||
mkdir $(DISTDIR)/wxPython/contrib/gizmos
|
||||
mkdir $(DISTDIR)/wxPython/contrib/glcanvas
|
||||
mkdir $(DISTDIR)/wxPython/contrib/glcanvas/gtk
|
||||
mkdir $(DISTDIR)/wxPython/contrib/ogl
|
||||
@@ -1339,6 +1332,7 @@ 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/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
|
||||
|
19
configure.in
19
configure.in
@@ -780,6 +780,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
|
||||
@@ -943,6 +944,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
|
||||
@@ -1006,7 +1008,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)
|
||||
@@ -1189,6 +1191,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
|
||||
@@ -1227,6 +1230,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)
|
||||
@@ -1266,6 +1270,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 ---------------------------------------------------------------------------
|
||||
@@ -3050,6 +3055,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,
|
||||
@@ -4499,10 +4507,19 @@ fi
|
||||
if test "$wxUSE_POPUPWIN" = "yes"; then
|
||||
if test "$wxUSE_MAC" = 1; then
|
||||
AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
|
||||
else
|
||||
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
|
||||
|
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
|
@@ -64,6 +64,7 @@ public:
|
||||
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.
|
||||
@@ -116,6 +117,7 @@ public:
|
||||
DECLARE_EVENT_TABLE()
|
||||
protected:
|
||||
wxWindow* m_companionWindow;
|
||||
bool m_drawRowLines;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -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; }
|
||||
@@ -520,9 +518,6 @@ class wxShape: public wxShapeEvtHandler
|
||||
wxBrush GetBackgroundBrush();
|
||||
|
||||
|
||||
private:
|
||||
wxObject* m_clientData;
|
||||
|
||||
protected:
|
||||
wxShapeEvtHandler* m_eventHandler;
|
||||
bool m_formatted;
|
||||
|
@@ -1615,6 +1615,7 @@ private:
|
||||
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);
|
||||
@@ -1652,8 +1653,10 @@ private:
|
||||
|
||||
class wxStyledTextEvent : public wxCommandEvent {
|
||||
public:
|
||||
wxStyledTextEvent(const wxStyledTextEvent& event);
|
||||
wxStyledTextEvent(wxEventType commandType=0, int id=0);
|
||||
#ifndef SWIG
|
||||
wxStyledTextEvent(const wxStyledTextEvent& event);
|
||||
#endif
|
||||
~wxStyledTextEvent() {}
|
||||
|
||||
void SetPosition(int pos) { m_position = pos; }
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -293,8 +293,8 @@ wxFrameLayout::wxFrameLayout(void)
|
||||
{
|
||||
CreateCursors();
|
||||
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
mPanes[i] = NULL;
|
||||
|
||||
mFloatingOn = CanReparent();
|
||||
@@ -329,8 +329,8 @@ wxFrameLayout::wxFrameLayout( wxWindow* pParentFrame, wxWindow* pFrameClient, bo
|
||||
{
|
||||
CreateCursors();
|
||||
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
mPanes[i] = new cbDockPane( i, this );
|
||||
|
||||
if ( activateNow )
|
||||
@@ -421,7 +421,8 @@ void wxFrameLayout::DestroyBarWindows()
|
||||
|
||||
mBarSpyList.Clear();
|
||||
|
||||
for( size_t i = 0; i != mAllBars.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != mAllBars.Count(); ++i )
|
||||
{
|
||||
if ( mAllBars[i]->mpBarWnd )
|
||||
{
|
||||
@@ -476,8 +477,7 @@ wxFrameLayout::~wxFrameLayout()
|
||||
// destroy contents of arrays and lists
|
||||
|
||||
size_t i = 0;
|
||||
|
||||
for( i = 0; i != MAX_PANES; ++i )
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
if ( mPanes[i] )
|
||||
delete mPanes[i];
|
||||
@@ -508,8 +508,7 @@ wxFrameLayout::~wxFrameLayout()
|
||||
pSpy = pSpy->Next();
|
||||
}
|
||||
|
||||
for( i = 0; i != mAllBars.Count(); ++i )
|
||||
|
||||
for ( i = 0; i != mAllBars.Count(); ++i )
|
||||
delete mAllBars[i];
|
||||
}
|
||||
|
||||
@@ -652,10 +651,9 @@ bool wxFrameLayout::RedockBar( cbBarInfo* pBar,
|
||||
|
||||
cbBarInfo* wxFrameLayout::FindBarByName( const wxString& name )
|
||||
{
|
||||
for( size_t i = 0; i != mAllBars.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != mAllBars.Count(); ++i )
|
||||
if ( mAllBars[i]->mName == name )
|
||||
|
||||
return mAllBars[i];
|
||||
|
||||
return NULL;
|
||||
@@ -663,10 +661,9 @@ cbBarInfo* wxFrameLayout::FindBarByName( const wxString& name )
|
||||
|
||||
cbBarInfo* wxFrameLayout::FindBarByWindow( const wxWindow* pWnd )
|
||||
{
|
||||
for( size_t i = 0; i != mAllBars.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != mAllBars.Count(); ++i )
|
||||
if ( mAllBars[i]->mpBarWnd == pWnd )
|
||||
|
||||
return mAllBars[i];
|
||||
|
||||
return NULL;
|
||||
@@ -955,7 +952,8 @@ void wxFrameLayout::RemoveBar( cbBarInfo* pBarInfo )
|
||||
pPane->RemoveBar( pBarInfo );
|
||||
}
|
||||
|
||||
for( size_t i = 0; i != mAllBars.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != mAllBars.Count(); ++i )
|
||||
{
|
||||
if ( mAllBars[i] == pBarInfo )
|
||||
{
|
||||
@@ -973,9 +971,7 @@ void wxFrameLayout::RemoveBar( cbBarInfo* pBarInfo )
|
||||
return;
|
||||
}
|
||||
}
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning); // DBG:: bar info should be present in the list of all bars of all panes
|
||||
|
||||
wxFAIL_MSG("bar info should be present in the list of all bars of all panes");
|
||||
}
|
||||
|
||||
bool wxFrameLayout::LocateBar( cbBarInfo* pBarInfo,
|
||||
@@ -985,11 +981,12 @@ bool wxFrameLayout::LocateBar( cbBarInfo* pBarInfo,
|
||||
(*ppRow) = NULL;
|
||||
(*ppPane) = NULL;
|
||||
|
||||
for( int n = 0; n != MAX_PANES; ++n )
|
||||
int n;
|
||||
for ( n = 0; n != MAX_PANES; ++n )
|
||||
{
|
||||
wxBarIterator i( mPanes[n]->GetRowList() );
|
||||
|
||||
while( i.Next() )
|
||||
while ( i.Next() )
|
||||
|
||||
if ( &i.BarInfo() == pBarInfo )
|
||||
{
|
||||
@@ -1146,8 +1143,8 @@ void wxFrameLayout::PositionPanes()
|
||||
// FOR NOW:: excessive updates!
|
||||
// reposition bars within all panes
|
||||
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
mPanes[i]->SizePaneObjects();
|
||||
}
|
||||
|
||||
@@ -1162,10 +1159,9 @@ void wxFrameLayout::OnSize( wxSizeEvent& event )
|
||||
|
||||
void wxFrameLayout::HideBarWindows()
|
||||
{
|
||||
for( size_t i = 0; i != mAllBars.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != mAllBars.Count(); ++i )
|
||||
if ( mAllBars[i]->mpBarWnd && mAllBars[i]->mState != wxCBAR_FLOATING )
|
||||
|
||||
mAllBars[i]->mpBarWnd->Show( FALSE );
|
||||
|
||||
// then floated frames
|
||||
@@ -1251,9 +1247,10 @@ void wxFrameLayout::HookUpToFrame()
|
||||
|
||||
cbDockPane* wxFrameLayout::GetBarPane( cbBarInfo* pBar )
|
||||
{
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
if ( mPanes[i]->BarPresent( pBar ) ) return mPanes[i];
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
if ( mPanes[i]->BarPresent( pBar ) )
|
||||
return mPanes[i];
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@@ -1302,13 +1299,15 @@ cbDockPane* wxFrameLayout::HitTestPanes( const wxRect& rect,
|
||||
|
||||
return pCurPane;
|
||||
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
if ( pCurPane != mPanes[i] &&
|
||||
rect_hits_rect( mPanes[i]->GetRealRect(), rect ) )
|
||||
|
||||
{
|
||||
return mPanes[i];
|
||||
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1319,7 +1318,6 @@ void wxFrameLayout::ForwardMouseEvent( wxMouseEvent& event,
|
||||
wxPoint pos( event.m_x, event.m_y );
|
||||
pToPane->FrameToPane( &pos.x, &pos.y );
|
||||
|
||||
#if wxCHECK_VERSION(2,3,0)
|
||||
if ( eventType == cbEVT_PL_LEFT_DOWN )
|
||||
{
|
||||
cbLeftDownEvent evt( pos, pToPane );
|
||||
@@ -1355,36 +1353,6 @@ void wxFrameLayout::ForwardMouseEvent( wxMouseEvent& event,
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning); // DBG::
|
||||
}
|
||||
#else
|
||||
switch ( eventType )
|
||||
{
|
||||
case cbEVT_PL_LEFT_DOWN : { cbLeftDownEvent evt( pos, pToPane );
|
||||
FirePluginEvent( evt ); break;
|
||||
}
|
||||
|
||||
case cbEVT_PL_LEFT_DCLICK:{ cbLeftDClickEvent evt( pos, pToPane );
|
||||
FirePluginEvent( evt ); break;
|
||||
}
|
||||
|
||||
case cbEVT_PL_LEFT_UP : { cbLeftUpEvent evt( pos, pToPane );
|
||||
FirePluginEvent( evt ); break;
|
||||
}
|
||||
|
||||
case cbEVT_PL_RIGHT_DOWN: { cbRightDownEvent evt( pos, pToPane );
|
||||
FirePluginEvent( evt ); break;
|
||||
}
|
||||
|
||||
case cbEVT_PL_RIGHT_UP : { cbRightUpEvent evt( pos, pToPane );
|
||||
FirePluginEvent( evt ); break;
|
||||
}
|
||||
|
||||
case cbEVT_PL_MOTION : { cbMotionEvent evt( pos, pToPane );
|
||||
FirePluginEvent( evt ); break;
|
||||
}
|
||||
|
||||
default : wxASSERT(0); // DBG::
|
||||
}
|
||||
#endif // #if wxCHECK_VERSION(2,3,0)
|
||||
} // wxFrameLayout::ForwardMouseEvent()
|
||||
|
||||
|
||||
@@ -1394,14 +1362,17 @@ void wxFrameLayout::RouteMouseEvent( wxMouseEvent& event, int pluginEvtType )
|
||||
|
||||
ForwardMouseEvent( event, mpPaneInFocus, pluginEvtType );
|
||||
else
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
{
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
if ( HitTestPane( mPanes[i], event.m_x, event.m_y ) )
|
||||
{
|
||||
ForwardMouseEvent( event, mPanes[i], pluginEvtType );
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*** event handlers ***/
|
||||
@@ -1437,8 +1408,10 @@ void wxFrameLayout::OnMouseMove( wxMouseEvent& event )
|
||||
|
||||
ForwardMouseEvent( event, mpPaneInFocus, cbEVT_PL_MOTION );
|
||||
else
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
{
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
if ( HitTestPane( mPanes[i], event.m_x, event.m_y ) )
|
||||
{
|
||||
if ( mpLRUPane && mpLRUPane != mPanes[i] )
|
||||
@@ -1453,6 +1426,8 @@ void wxFrameLayout::OnMouseMove( wxMouseEvent& event )
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( mpLRUPane )
|
||||
{
|
||||
@@ -1465,12 +1440,12 @@ void wxFrameLayout::OnMouseMove( wxMouseEvent& event )
|
||||
void wxFrameLayout::OnPaint( wxPaintEvent& event )
|
||||
{
|
||||
if ( mRecalcPending )
|
||||
|
||||
RecalcLayout( TRUE );
|
||||
|
||||
wxPaintDC dc(mpFrame);
|
||||
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
wxRect& rect = mPanes[i]->mBoundsInParent;
|
||||
|
||||
@@ -1545,17 +1520,19 @@ void wxFrameLayout::GetPaneProperties( cbCommonPaneProperties& props, int alignm
|
||||
|
||||
void wxFrameLayout::SetPaneProperties( const cbCommonPaneProperties& props, int paneMask )
|
||||
{
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
if ( mPanes[i]->MatchesMask( paneMask ) )
|
||||
|
||||
mPanes[i]->mProps = props;
|
||||
}
|
||||
}
|
||||
|
||||
void wxFrameLayout::SetMargins( int top, int bottom, int left, int right,
|
||||
int paneMask )
|
||||
{
|
||||
for( int i = 0; i != MAX_PANES; ++i )
|
||||
int i;
|
||||
for ( i = 0; i != MAX_PANES; ++i )
|
||||
{
|
||||
cbDockPane& pane = *mPanes[i];
|
||||
|
||||
@@ -1735,7 +1712,7 @@ void wxFrameLayout::AddPlugin( wxClassInfo* pPlInfo, int paneMask )
|
||||
void wxFrameLayout::AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo,
|
||||
int paneMask )
|
||||
{
|
||||
wxASSERT( pNextPlInfo != pPlInfo ); // DBG:: no sence
|
||||
wxASSERT( pNextPlInfo != pPlInfo ); // DBG:: no sense
|
||||
|
||||
cbPluginBase* pNextPl = FindPlugin( pNextPlInfo );
|
||||
|
||||
@@ -1929,7 +1906,8 @@ cbDimInfo::cbDimInfo()
|
||||
mIsFixed(TRUE),
|
||||
mpHandler( NULL )
|
||||
{
|
||||
for( size_t i = 0; i != MAX_BAR_STATES; ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != MAX_BAR_STATES; ++i )
|
||||
{
|
||||
mSizes[i].x = 20;
|
||||
mSizes[i].y = 20;
|
||||
@@ -1953,7 +1931,8 @@ cbDimInfo::cbDimInfo( cbBarDimHandlerBase* pDimHandler,
|
||||
mpHandler->AddRef();
|
||||
}
|
||||
|
||||
for( size_t i = 0; i != MAX_BAR_STATES; ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != MAX_BAR_STATES; ++i )
|
||||
{
|
||||
mSizes[i].x = -1;
|
||||
mSizes[i].y = -1;
|
||||
@@ -1990,7 +1969,8 @@ cbDimInfo::cbDimInfo( int dh_x, int dh_y,
|
||||
mSizes[wxCBAR_FLOATING ].x = f_x;
|
||||
mSizes[wxCBAR_FLOATING ].y = f_y;
|
||||
|
||||
for( size_t i = 0; i != MAX_BAR_STATES; ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != MAX_BAR_STATES; ++i )
|
||||
mBounds[i] = wxRect( -1,-1,-1,-1 );
|
||||
}
|
||||
|
||||
@@ -2015,7 +1995,8 @@ cbDimInfo::cbDimInfo( int x, int y,
|
||||
mSizes[wxCBAR_FLOATING ].x = x;
|
||||
mSizes[wxCBAR_FLOATING ].y = y;
|
||||
|
||||
for( size_t i = 0; i != MAX_BAR_STATES; ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != MAX_BAR_STATES; ++i )
|
||||
mBounds[i] = wxRect( -1,-1,-1,-1 );
|
||||
}
|
||||
|
||||
@@ -2028,10 +2009,11 @@ cbDimInfo::~cbDimInfo()
|
||||
|
||||
const cbDimInfo& cbDimInfo::operator=( const cbDimInfo& other )
|
||||
{
|
||||
if ( this == &other ) return *this;
|
||||
|
||||
for( int i = 0; i != MAX_BAR_STATES; ++i )
|
||||
if ( this == &other )
|
||||
return *this;
|
||||
|
||||
int i;
|
||||
for ( i = 0; i != MAX_BAR_STATES; ++i )
|
||||
mSizes[i] = other.mSizes[i];
|
||||
|
||||
mIsFixed = other.mIsFixed;
|
||||
@@ -2140,8 +2122,8 @@ cbDockPane::cbDockPane( int alignment, wxFrameLayout* pPanel )
|
||||
|
||||
cbDockPane::~cbDockPane()
|
||||
{
|
||||
for( size_t i = 0; i != mRows.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
delete mRows[i];
|
||||
|
||||
mRowShapeData.DeleteContents( TRUE );
|
||||
@@ -2203,12 +2185,12 @@ void cbDockPane::PaintRowDecorations( cbRowInfo* pRow, wxDC& dc )
|
||||
size_t i = 0;
|
||||
|
||||
// decorations first
|
||||
for( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
PaintBarDecorations( pRow->mBars[i], dc );
|
||||
|
||||
// then handles if present
|
||||
for( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
PaintBarHandles( pRow->mBars[i], dc );
|
||||
}
|
||||
@@ -2241,15 +2223,14 @@ void cbDockPane::PaintPane( wxDC& dc )
|
||||
size_t i = 0;
|
||||
|
||||
// first decorations
|
||||
for( i = 0; i != mRows.Count(); ++i )
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
{
|
||||
PaintRowBackground( mRows[i], dc );
|
||||
PaintRowDecorations( mRows[i], dc );
|
||||
}
|
||||
|
||||
// than handles
|
||||
for( i = 0; i != mRows.Count(); ++i )
|
||||
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
PaintRowHandles( mRows[i], dc );
|
||||
|
||||
// and finally
|
||||
@@ -2266,15 +2247,15 @@ void cbDockPane::SizeBar( cbBarInfo* pBar )
|
||||
|
||||
void cbDockPane::SizeRowObjects( cbRowInfo* pRow )
|
||||
{
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
SizeBar( pRow->mBars[i] );
|
||||
}
|
||||
|
||||
void cbDockPane::SizePaneObjects()
|
||||
{
|
||||
for( size_t i = 0; i != mRows.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
SizeRowObjects( mRows[i] );
|
||||
}
|
||||
|
||||
@@ -2305,9 +2286,12 @@ int cbDockPane::GetNotFixedBarsCount( cbRowInfo* pRow )
|
||||
{
|
||||
int cnt = 0;
|
||||
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
if ( !pRow->mBars[i]->IsFixed() ) ++cnt;
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
if ( !pRow->mBars[i]->IsFixed() )
|
||||
++cnt;
|
||||
}
|
||||
|
||||
return cnt;
|
||||
}
|
||||
@@ -2336,7 +2320,8 @@ void cbDockPane::SyncRowFlags( cbRowInfo* pRow )
|
||||
|
||||
pRow->mNotFixedBarsCnt = 0;
|
||||
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
cbBarInfo& bar = *pRow->mBars[i];
|
||||
|
||||
@@ -2430,13 +2415,14 @@ void cbDockPane::PaneToFrame( wxRect* pRect )
|
||||
|
||||
int cbDockPane::GetRowAt( int paneY )
|
||||
{
|
||||
if ( paneY < 0 ) return -1;
|
||||
if ( paneY < 0 )
|
||||
return -1;
|
||||
|
||||
int curY = 0;
|
||||
|
||||
size_t i = 0;
|
||||
|
||||
for( ; i != mRows.Count(); ++i )
|
||||
for ( ; i != mRows.Count(); ++i )
|
||||
{
|
||||
int rowHeight = mRows[i]->mRowHeight;
|
||||
|
||||
@@ -2494,12 +2480,13 @@ int cbDockPane::GetRowAt( int upperY, int lowerY )
|
||||
|
||||
int mid = upperY + (lowerY - upperY)/2;
|
||||
|
||||
if ( mid < 0 ) return -1;
|
||||
if ( mid < 0 )
|
||||
return -1;
|
||||
|
||||
int curY = 0;
|
||||
size_t i = 0;
|
||||
|
||||
for( ; i != mRows.Count(); ++i )
|
||||
for ( ; i != mRows.Count(); ++i )
|
||||
{
|
||||
int rowHeight = mRows[i]->mRowHeight;
|
||||
|
||||
@@ -2515,9 +2502,11 @@ int cbDockPane::GetRowY( cbRowInfo* pRow )
|
||||
{
|
||||
int curY = 0;
|
||||
|
||||
for( size_t i = 0; i != mRows.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
{
|
||||
if ( mRows[i] == pRow ) break;
|
||||
if ( mRows[i] == pRow )
|
||||
break;
|
||||
|
||||
curY += mRows[i]->mRowHeight;
|
||||
}
|
||||
@@ -2589,23 +2578,21 @@ void cbDockPane::CalcLengthRatios( cbRowInfo* pInRow )
|
||||
|
||||
// clac current-maximal-total-length of all maximized bars
|
||||
|
||||
for( i = 0; i != pInRow->mBars.GetCount(); ++i )
|
||||
for ( i = 0; i != pInRow->mBars.GetCount(); ++i )
|
||||
{
|
||||
cbBarInfo& bar = *pInRow->mBars[i];
|
||||
|
||||
if ( !bar.IsFixed() )
|
||||
|
||||
totalWidth += bar.mBounds.width;
|
||||
}
|
||||
|
||||
// set up persentages of occupied space for each maximized bar
|
||||
|
||||
for( i = 0; i != pInRow->mBars.Count(); ++i )
|
||||
for ( i = 0; i != pInRow->mBars.Count(); ++i )
|
||||
{
|
||||
cbBarInfo& bar = *pInRow->mBars[i];
|
||||
|
||||
if ( !bar.IsFixed() )
|
||||
|
||||
bar.mLenRatio = double(bar.mBounds.width)/double(totalWidth);
|
||||
}
|
||||
}
|
||||
@@ -2703,18 +2690,17 @@ void cbDockPane::ContractBar( cbBarInfo* pBar )
|
||||
|
||||
void cbDockPane::InitLinksForRow( cbRowInfo* pRow )
|
||||
{
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
cbBarInfo& bar = *pRow->mBars[i];
|
||||
|
||||
if ( i == 0 )
|
||||
|
||||
bar.mpPrev = NULL;
|
||||
else
|
||||
bar.mpPrev = pRow->mBars[i-1];
|
||||
|
||||
if ( i == pRow->mBars.Count() - 1 )
|
||||
|
||||
bar.mpNext = NULL;
|
||||
else
|
||||
bar.mpNext = pRow->mBars[i+1];
|
||||
@@ -2723,18 +2709,17 @@ void cbDockPane::InitLinksForRow( cbRowInfo* pRow )
|
||||
|
||||
void cbDockPane::InitLinksForRows()
|
||||
{
|
||||
for( size_t i = 0; i != mRows.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
{
|
||||
cbRowInfo& row = *mRows[i];
|
||||
|
||||
if ( i == 0 )
|
||||
|
||||
row.mpPrev = NULL;
|
||||
else
|
||||
row.mpPrev = mRows[i-1];
|
||||
|
||||
if ( i == mRows.Count() - 1 )
|
||||
|
||||
row.mpNext = NULL;
|
||||
else
|
||||
row.mpNext = mRows[i+1];
|
||||
@@ -2825,12 +2810,13 @@ void cbDockPane::InsertBar( cbBarInfo* pBarInfo )
|
||||
|
||||
void cbDockPane::RemoveRow( cbRowInfo* pRow )
|
||||
{
|
||||
size_t i;
|
||||
// first, hide all bar-windows in the removed row
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
if ( pRow->mBars[i]->mpBarWnd )
|
||||
|
||||
pRow->mBars[i]->mpBarWnd->Show( FALSE );
|
||||
}
|
||||
|
||||
mRows.Remove( pRow );
|
||||
|
||||
@@ -2849,8 +2835,8 @@ void cbDockPane::InsertRow( cbRowInfo* pRow, cbRowInfo* pBeforeRow )
|
||||
|
||||
pRow->mUMgrData.SetDirty(TRUE);
|
||||
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
pRow->mBars[i]->mUMgrData.SetDirty( TRUE );
|
||||
|
||||
SyncRowFlags( pRow );
|
||||
@@ -2859,7 +2845,6 @@ void cbDockPane::InsertRow( cbRowInfo* pRow, cbRowInfo* pBeforeRow )
|
||||
void cbDockPane::SetPaneWidth(int width)
|
||||
{
|
||||
if ( IsHorizontal() )
|
||||
|
||||
mPaneWidth = width - mLeftMargin - mRightMargin;
|
||||
else
|
||||
mPaneWidth = width - mTopMargin - mBottomMargin;
|
||||
@@ -2868,7 +2853,6 @@ void cbDockPane::SetPaneWidth(int width)
|
||||
|
||||
void cbDockPane::SetBoundsInParent( const wxRect& rect )
|
||||
{
|
||||
|
||||
mBoundsInParent = rect;
|
||||
|
||||
// set pane dimensions in local coordinates
|
||||
@@ -2972,14 +2956,14 @@ cbRowInfo* cbDockPane::GetRow( int row )
|
||||
|
||||
int cbDockPane::GetRowIndex( cbRowInfo* pRow )
|
||||
{
|
||||
for( size_t i = 0; i != mRows.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
{
|
||||
if ( mRows[i] == pRow )
|
||||
return i;
|
||||
}
|
||||
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning); // DBG:: row should be present
|
||||
wxFAIL_MSG("Row must be present to call cbDockPane::GetRowIndex()");
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -3027,8 +3011,7 @@ bool cbDockPane::MatchesMask( int paneMask )
|
||||
case FL_ALIGN_RIGHT : thisMask = FL_ALIGN_RIGHT_PANE; break;
|
||||
|
||||
default:
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning); // DBG:: bogus alignment type
|
||||
wxFAIL_MSG("Bad FL alignment type detected in cbDockPane::MatchesMask()");
|
||||
}
|
||||
|
||||
return ( thisMask & paneMask ) != 0;
|
||||
@@ -3043,8 +3026,8 @@ void cbDockPane::RecalcLayout()
|
||||
|
||||
// then horizontally in each row
|
||||
|
||||
for( size_t i = 0; i != mRows.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
RecalcRowLayout( mRows[i] );
|
||||
}
|
||||
|
||||
@@ -3076,7 +3059,8 @@ int cbDockPane::HitTestPaneItems( const wxPoint& pos,
|
||||
(*ppRow) = NULL;
|
||||
(*ppBar) = NULL;
|
||||
|
||||
for( size_t i = 0; i != mRows.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != mRows.Count(); ++i )
|
||||
{
|
||||
cbRowInfo& row = *mRows[i];
|
||||
|
||||
@@ -3102,7 +3086,8 @@ int cbDockPane::HitTestPaneItems( const wxPoint& pos,
|
||||
|
||||
// hit-test bar handles and bar content
|
||||
|
||||
for( size_t k = 0; k != row.mBars.Count(); ++k )
|
||||
size_t k;
|
||||
for ( k = 0; k != row.mBars.Count(); ++k )
|
||||
{
|
||||
cbBarInfo& bar = *row.mBars[k];
|
||||
wxRect& bounds = bar.mBounds;
|
||||
@@ -3126,7 +3111,6 @@ int cbDockPane::HitTestPaneItems( const wxPoint& pos,
|
||||
}
|
||||
|
||||
if ( HasPoint( pos, bounds.x, bounds.y, bounds.width, bounds.height ) )
|
||||
|
||||
return CB_BAR_CONTENT_HITTED;
|
||||
|
||||
} // hit-test next bar
|
||||
@@ -3201,18 +3185,17 @@ int cbDockPane::GetMinimalRowHeight( cbRowInfo* pRow )
|
||||
{
|
||||
int height = mProps.mMinCBarDim.y;
|
||||
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
if ( pRow->mBars[i]->IsFixed() )
|
||||
|
||||
height = wxMax( height, pRow->mBars[i]->mBounds.height );
|
||||
}
|
||||
|
||||
if ( pRow->mHasUpperHandle )
|
||||
|
||||
height += mProps.mResizeHandleSize;
|
||||
|
||||
if ( pRow->mHasLowerHandle )
|
||||
|
||||
height += mProps.mResizeHandleSize;
|
||||
|
||||
return height;
|
||||
@@ -3228,11 +3211,12 @@ void cbDockPane::SetRowHeight( cbRowInfo* pRow, int newHeight )
|
||||
|
||||
newHeight -= mProps.mResizeHandleSize;
|
||||
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
if ( !pRow->mBars[i]->IsFixed() )
|
||||
|
||||
pRow->mBars[i]->mBounds.height = newHeight;
|
||||
}
|
||||
}
|
||||
|
||||
void cbDockPane::GetRowResizeRange( cbRowInfo* pRow, int* from, int* till,
|
||||
@@ -3379,7 +3363,8 @@ void cbDockPane::DrawVertHandle( wxDC& dc, int x, int y, int height )
|
||||
dc.DrawLine( x,y, x, lower );
|
||||
|
||||
dc.SetPen( mpLayout->mGrayPen );
|
||||
for( int i = 0; i != mProps.mResizeHandleSize-1; ++i )
|
||||
int i;
|
||||
for ( i = 0; i != mProps.mResizeHandleSize-1; ++i )
|
||||
{
|
||||
++x;
|
||||
dc.DrawLine( x,y, x, lower );
|
||||
@@ -3403,7 +3388,8 @@ void cbDockPane::DrawHorizHandle( wxDC& dc, int x, int y, int width )
|
||||
|
||||
dc.SetPen( mpLayout->mGrayPen );
|
||||
|
||||
for( int i = 0; i != mProps.mResizeHandleSize-1; ++i )
|
||||
int i;
|
||||
for ( i = 0; i != mProps.mResizeHandleSize-1; ++i )
|
||||
{
|
||||
++y;
|
||||
dc.DrawLine( x,y, right, y );
|
||||
@@ -3434,7 +3420,8 @@ void cbDockPane::GetRowShapeData( cbRowInfo* pRow, wxList* pLst )
|
||||
pLst->DeleteContents( TRUE );
|
||||
pLst->Clear();
|
||||
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
cbBarInfo& bar = *pRow->mBars[i];
|
||||
|
||||
@@ -3449,11 +3436,13 @@ void cbDockPane::GetRowShapeData( cbRowInfo* pRow, wxList* pLst )
|
||||
|
||||
void cbDockPane::SetRowShapeData( cbRowInfo* pRow, wxList* pLst )
|
||||
{
|
||||
if ( pLst->First() == NULL ) return;
|
||||
if ( pLst->First() == NULL )
|
||||
return;
|
||||
|
||||
wxNode* pData = pLst->First();
|
||||
|
||||
for( size_t i = 0; i != pRow->mBars.Count(); ++i )
|
||||
size_t i;
|
||||
for ( i = 0; i != pRow->mBars.Count(); ++i )
|
||||
{
|
||||
wxASSERT( pData ); // DBG::
|
||||
|
||||
|
@@ -173,7 +173,7 @@ void wxFrameManager::DestroyViews()
|
||||
|
||||
wxNode* pNode = mViews.First();
|
||||
|
||||
while( pNode )
|
||||
while ( pNode )
|
||||
{
|
||||
delete (wxFrameView*)pNode->Data();
|
||||
|
||||
@@ -190,7 +190,7 @@ int wxFrameManager::GetViewNo( wxFrameView* pView )
|
||||
wxNode* pNode = mViews.First();
|
||||
int n = 0;
|
||||
|
||||
while( pNode )
|
||||
while ( pNode )
|
||||
{
|
||||
if ( (wxFrameView*)pNode->Data() == pView )
|
||||
|
||||
@@ -208,16 +208,17 @@ void wxFrameManager::EnableMenusForView( wxFrameView* pView, bool enable )
|
||||
wxMenuBar* pMenuBar = GetParentFrame()->GetMenuBar();
|
||||
int count = pMenuBar->GetMenuCount();
|
||||
|
||||
if ( !pMenuBar ) return;
|
||||
if ( !pMenuBar )
|
||||
return;
|
||||
|
||||
wxStringListNode* pNode = pView->mTopMenus.GetFirst();
|
||||
|
||||
while( pNode )
|
||||
int i;
|
||||
while ( pNode )
|
||||
{
|
||||
for( int i = 0; i != count; ++i )
|
||||
for ( i = 0; i != count; ++i )
|
||||
{
|
||||
if ( pMenuBar->GetMenu(i)->GetTitle() == pNode->GetData() )
|
||||
|
||||
pMenuBar->EnableTop( i, enable );
|
||||
}
|
||||
|
||||
@@ -230,7 +231,7 @@ void wxFrameManager::SyncAllMenus()
|
||||
wxNode* pNode = mViews.First();
|
||||
int i = 0;
|
||||
|
||||
while( pNode )
|
||||
while ( pNode )
|
||||
{
|
||||
if ( i != mActiveViewNo )
|
||||
|
||||
@@ -265,7 +266,7 @@ void wxFrameManager::Init( wxWindow* pMainFrame, const wxString& settingsFile )
|
||||
|
||||
wxNode* pNode = mViews.First();
|
||||
|
||||
while( pNode )
|
||||
while ( pNode )
|
||||
{
|
||||
wxFrameView* pView = (wxFrameView*)pNode->Data();
|
||||
|
||||
@@ -282,7 +283,7 @@ void wxFrameManager::Init( wxWindow* pMainFrame, const wxString& settingsFile )
|
||||
|
||||
pNode = mViews.First();
|
||||
|
||||
while( pNode )
|
||||
while ( pNode )
|
||||
{
|
||||
wxFrameView* pView = (wxFrameView*)pNode->Data();
|
||||
|
||||
@@ -293,7 +294,6 @@ void wxFrameManager::Init( wxWindow* pMainFrame, const wxString& settingsFile )
|
||||
}
|
||||
|
||||
if ( mActiveViewNo >= mViews.Number() )
|
||||
|
||||
mActiveViewNo = -1;
|
||||
|
||||
ActivateView( GetView( ( mActiveViewNo == -1 ) ? 0 : mActiveViewNo ) );
|
||||
@@ -311,8 +311,7 @@ void wxFrameManager::AddView( wxFrameView* pFrmView )
|
||||
void wxFrameManager::RemoveView( wxFrameView* pFrmView )
|
||||
{
|
||||
// TBD::
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning);
|
||||
wxFAIL_MSG("wxFrameManager::RemoveView() has not been implemented yet.");
|
||||
}
|
||||
|
||||
int wxFrameManager::GetActiveViewNo()
|
||||
@@ -393,7 +392,8 @@ wxWindow* wxFrameManager::GetClientWindow()
|
||||
|
||||
void wxFrameManager::DeactivateCurrentView()
|
||||
{
|
||||
if ( mActiveViewNo == -1 ) return;
|
||||
if ( mActiveViewNo == -1 )
|
||||
return;
|
||||
|
||||
wxFrameView* pView = GetActiveView();
|
||||
|
||||
@@ -403,7 +403,6 @@ void wxFrameManager::DeactivateCurrentView()
|
||||
GetParentFrame()->PopEventHandler();
|
||||
|
||||
if ( pView->mpLayout )
|
||||
|
||||
pView->mpLayout->Deactivate();
|
||||
|
||||
EnableMenusForView( pView, FALSE );
|
||||
@@ -429,7 +428,6 @@ bool wxFrameManager::ReloadViews()
|
||||
// TBD: ????
|
||||
#if 0
|
||||
if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) )
|
||||
|
||||
return FALSE;
|
||||
|
||||
DestroyViews();
|
||||
|
@@ -34,7 +34,9 @@ static int* create_array( int width, int height, int fill = 0 )
|
||||
int* array = new int[width*height];
|
||||
|
||||
int len = width*height;
|
||||
for( int i = 0; i != len; ++i ) array[i] = fill;
|
||||
int i;
|
||||
for ( i = 0; i != len; ++i )
|
||||
array[i] = fill;
|
||||
|
||||
return array;
|
||||
}
|
||||
@@ -110,30 +112,34 @@ static void gray_out_pixmap( int* src, int* dest, int width, int height )
|
||||
|
||||
if ( IS_IN_ARRAY(x+1,y-1) )
|
||||
{
|
||||
++x;--y;
|
||||
++x;
|
||||
--y;
|
||||
}
|
||||
else
|
||||
{
|
||||
while( IS_IN_ARRAY(x-1,y+1) )
|
||||
while ( IS_IN_ARRAY(x-1,y+1) )
|
||||
{
|
||||
--x;++y;
|
||||
--x;
|
||||
++y;
|
||||
}
|
||||
|
||||
if ( IS_IN_ARRAY(x,y+1) )
|
||||
{
|
||||
++y; continue;
|
||||
++y;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( IS_IN_ARRAY(x+1,y) )
|
||||
{
|
||||
++x; continue;
|
||||
++x;
|
||||
continue;
|
||||
}
|
||||
else break;
|
||||
}
|
||||
}
|
||||
|
||||
} while(1);
|
||||
} while (1);
|
||||
}
|
||||
|
||||
// alg. for making the image look "grayed" (e.g. disabled button)
|
||||
@@ -152,23 +158,22 @@ void gray_out_image_on_dc( wxDC& dc, int width, int height )
|
||||
int* src = create_array( width, height, MASK_BG );
|
||||
int* dest = create_array( width, height, MASK_BG );
|
||||
|
||||
int y = 0;
|
||||
for( y = 0; y != height; ++y )
|
||||
|
||||
for( int x = 0; x != width; ++x )
|
||||
int x, y;
|
||||
for ( y = 0; y != height; ++y )
|
||||
{
|
||||
for ( x = 0; x != width; ++x )
|
||||
{
|
||||
wxColour col;
|
||||
dc.GetPixel( x,y, &col );
|
||||
|
||||
|
||||
GET_ELEM(src,x,y) = MAKE_INT_COLOR( col.Red(), col.Green(), col.Blue() );
|
||||
}
|
||||
|
||||
}
|
||||
gray_out_pixmap( src, dest, width, height );
|
||||
|
||||
for( y = 0; y != height; ++y )
|
||||
|
||||
for( int x = 0; x != width; ++x )
|
||||
for ( y = 0; y != height; ++y )
|
||||
{
|
||||
for ( x = 0; x != width; ++x )
|
||||
{
|
||||
int mask = GET_ELEM(dest,x,y);
|
||||
|
||||
@@ -186,7 +191,7 @@ void gray_out_image_on_dc( wxDC& dc, int width, int height )
|
||||
default : break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
delete [] src;
|
||||
delete [] dest;
|
||||
}
|
||||
@@ -425,8 +430,7 @@ void wxNewBitmapButton::RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp,
|
||||
}
|
||||
else
|
||||
{
|
||||
int avoidCompilerWarning = 0;
|
||||
wxASSERT(avoidCompilerWarning);// unsupported alignment type
|
||||
wxFAIL_MSG("Unsupported FL alignment type detected in wxNewBitmapButton::RenderLabelImage()");
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -477,7 +481,7 @@ void wxNewBitmapButton::RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp,
|
||||
break;
|
||||
|
||||
pTopWnd = pParent;
|
||||
} while(1);
|
||||
} while (1);
|
||||
|
||||
destDc.SetFont( wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT) );
|
||||
|
||||
@@ -527,7 +531,7 @@ void wxNewBitmapButton::RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp,
|
||||
break;
|
||||
|
||||
pTopWnd = pParent;
|
||||
} while(1);
|
||||
} while (1);
|
||||
|
||||
destDc.SetFont( wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT) );
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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"
|
||||
|
||||
/*
|
||||
|
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(_("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(_("Unknown alignent value for wxLEDNumberCtrl."));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wxLEDNumberCtrl::OnSize(wxSizeEvent &Event)
|
||||
{
|
||||
RecalcInternals(Event.GetSize());
|
||||
|
||||
Event.Skip();
|
||||
}
|
@@ -11,7 +11,7 @@ WXDIR = $(WXWIN)
|
||||
|
||||
LIBTARGET=$(WXDIR)\lib\gizmos.lib
|
||||
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj
|
||||
|
||||
!include $(WXDIR)\src\makelib.b32
|
||||
|
||||
|
@@ -14,7 +14,7 @@ WXDIR = $(WXWIN)
|
||||
|
||||
LIBTARGET=$(WXDIR)\lib\gizmos.lib
|
||||
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj
|
||||
|
||||
!include $(WXDIR)\src\makelib.bcc
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
WXDIR = ../../..
|
||||
|
||||
LIBTARGET=$(WXDIR)/lib/libgizmos.a
|
||||
OBJECTS = multicell.o splittree.o editlbox.o dynamicsash.o
|
||||
OBJECTS = multicell.o splittree.o editlbox.o dynamicsash.o ledctrl.o
|
||||
|
||||
include $(WXDIR)/src/makelib.g95
|
||||
|
||||
|
@@ -23,7 +23,7 @@ LOCALDOCDIR=$(WXDIR)\contrib\docs\latex\gizmos
|
||||
|
||||
!include $(WXDIR)\src\makevc.env
|
||||
|
||||
OBJECTS = $(D)\multicell.obj $(D)\splittree.obj $(D)\editlbox.obj $(D)\dynamicsash.obj
|
||||
OBJECTS = $(D)\multicell.obj $(D)\splittree.obj $(D)\editlbox.obj $(D)\dynamicsash.obj $(D)\ledctrl.obj
|
||||
|
||||
LIBTARGET=$(WXDIR)\lib\gizmos$(LIBEXT).lib
|
||||
|
||||
|
@@ -10,7 +10,7 @@ THISDIR = $(WXDIR)\contrib\src\gizmos
|
||||
NAME = gizmos
|
||||
LNK = $(name).lnk
|
||||
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
|
||||
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj
|
||||
|
||||
all: $(GIZMOSLIB)
|
||||
|
||||
|
@@ -59,16 +59,24 @@ BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxGenericTreeCtrl)
|
||||
BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxTreeCtrl)
|
||||
#endif
|
||||
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;
|
||||
|
||||
// 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)
|
||||
@@ -241,6 +253,43 @@ void wxRemotelyScrolledTreeCtrl::OnExpand(wxTreeEvent& event)
|
||||
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()
|
||||
{
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -112,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)
|
||||
@@ -1837,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);
|
||||
@@ -1869,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;
|
||||
}
|
||||
|
@@ -112,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)
|
||||
@@ -381,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);
|
||||
@@ -413,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;
|
||||
}
|
||||
|
@@ -169,6 +169,7 @@ private:
|
||||
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);
|
||||
@@ -206,8 +207,10 @@ private:
|
||||
|
||||
class wxStyledTextEvent : public wxCommandEvent {
|
||||
public:
|
||||
wxStyledTextEvent(const wxStyledTextEvent& event);
|
||||
wxStyledTextEvent(wxEventType commandType=0, int id=0);
|
||||
#ifndef SWIG
|
||||
wxStyledTextEvent(const wxStyledTextEvent& event);
|
||||
#endif
|
||||
~wxStyledTextEvent() {}
|
||||
|
||||
void SetPosition(int pos) { m_position = pos; }
|
||||
|
@@ -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
@@ -1,4 +1,5 @@
|
||||
DbbrowseM*Data
|
||||
dbbrowseM5.mcp
|
||||
dbbrowseM*Data
|
||||
*Classic?Debug*
|
||||
*Classic?Release*
|
||||
*Carbon?Debug*
|
||||
|
Binary file not shown.
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
@@ -1,4 +1,5 @@
|
||||
FractalM*Data
|
||||
fractalM5.mcp
|
||||
fractalM*Data
|
||||
*Classic?Debug*
|
||||
*Classic?Release*
|
||||
*Carbon?Debug*
|
||||
|
Binary file not shown.
3835
demos/fractal/fractalM5.xml
Normal file
3835
demos/fractal/fractalM5.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
||||
LifeM*Data
|
||||
lifeM5.mcp
|
||||
lifeM*Data
|
||||
*Classic?Debug*
|
||||
*Classic?Release*
|
||||
*Carbon?Debug*
|
||||
|
Binary file not shown.
3997
demos/life/lifeM5.xml
Normal file
3997
demos/life/lifeM5.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
||||
PoemM*Data
|
||||
poemM5.mcp
|
||||
poemM*Data
|
||||
*Classic?Debug*
|
||||
*Classic?Release*
|
||||
*Carbon?Debug*
|
||||
|
Binary file not shown.
3835
demos/poem/poemM5.xml
Normal file
3835
demos/poem/poemM5.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -118,7 +118,6 @@ src/regex/makefile*
|
||||
src/regex/README
|
||||
src/regex/WHATSNEW
|
||||
src/regex/mkh
|
||||
src/regex/makefile*
|
||||
src/regex/*.h
|
||||
src/regex/*.ih
|
||||
src/regex/*.c
|
||||
@@ -1031,6 +1030,16 @@ samples/opengl/penguin/*.xpm
|
||||
samples/opengl/penguin/make*.*
|
||||
samples/opengl/penguin/penguin.lwo
|
||||
|
||||
samples/widgets/*.cpp
|
||||
samples/widgets/*.h
|
||||
samples/widgets/makefile*
|
||||
samples/widgets/*.rc
|
||||
samples/widgets/*.def
|
||||
samples/widgets/*.ico
|
||||
samples/widgets/*.xpm
|
||||
samples/widgets/*.txt
|
||||
samples/widgets/*.bmp
|
||||
|
||||
demos/makefile*
|
||||
demos/configure
|
||||
demos/configure.in
|
||||
|
@@ -70,6 +70,7 @@ samples/opengl/Makefile.in
|
||||
samples/opengl/cube/Makefile.in
|
||||
samples/opengl/penguin/Makefile.in
|
||||
samples/opengl/isosurf/Makefile.in
|
||||
samples/widgets/Makefile.in
|
||||
demos/Makefile.in
|
||||
demos/bombs/Makefile.in
|
||||
demos/forty/Makefile.in
|
||||
|
@@ -21,38 +21,39 @@ all: $(MSW_MAKEFILES_DIR)/makefile.vc \
|
||||
$(WXDIR)/src/motif/files.lst \
|
||||
$(WXDIR)/src/os2/files.lst \
|
||||
|
||||
$(MSW_MAKEFILES_DIR)/makefile.vc: filelist.txt wxwin.pro
|
||||
$(MSW_MAKEFILES_DIR)/makefile.vc: vc.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t vc wxwin.pro -o $@
|
||||
|
||||
$(MSW_MAKEFILES_DIR)/makefile.b32: filelist.txt wxwin.pro
|
||||
$(MSW_MAKEFILES_DIR)/makefile.b32: b32.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t b32 wxwin.pro -o $@
|
||||
|
||||
$(MSW_MAKEFILES_DIR)/makefile.dos: filelist.txt wxwin.pro
|
||||
$(MSW_MAKEFILES_DIR)/makefile.dos: dos.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t dos wxwin.pro -o $@
|
||||
|
||||
$(MSW_MAKEFILES_DIR)/makefile.bcc: filelist.txt wxwin.pro
|
||||
$(MSW_MAKEFILES_DIR)/makefile.bcc: bcc.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t bcc wxwin.pro -o $@
|
||||
|
||||
$(MSW_MAKEFILES_DIR)/makefile.sc: filelist.txt wxwin.pro
|
||||
$(MSW_MAKEFILES_DIR)/makefile.sc: sc.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t sc wxwin.pro -o $@
|
||||
|
||||
$(MSW_MAKEFILES_DIR)/makefile.wat: filelist.txt wxwin.pro
|
||||
$(MSW_MAKEFILES_DIR)/makefile.wat: wat.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t wat wxwin.pro -o $@
|
||||
|
||||
$(MSW_MAKEFILES_DIR)/makefile.g95: filelist.txt wxwin.pro
|
||||
$(MSW_MAKEFILES_DIR)/makefile.g95: g95.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t g95 wxwin.pro -o $@
|
||||
|
||||
$(WXDIR)/src/msw/files.lst: filelist.txt wxwin.pro
|
||||
$(WXDIR)/src/msw/files.lst: msw.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t msw wxwin.pro -o $@
|
||||
|
||||
$(WXDIR)/src/gtk/files.lst: filelist.txt wxwin.pro
|
||||
$(WXDIR)/src/gtk/files.lst: gtk.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t gtk wxwin.pro -o $@
|
||||
|
||||
$(WXDIR)/src/mac/files.lst: filelist.txt wxwin.pro
|
||||
$(WXDIR)/src/mac/files.lst: mac.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t mac wxwin.pro -o $@
|
||||
|
||||
$(WXDIR)/src/motif/files.lst: filelist.txt wxwin.pro
|
||||
$(WXDIR)/src/motif/files.lst: motif.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t motif wxwin.pro -o $@
|
||||
|
||||
$(WXDIR)/src/os2/files.lst: filelist.txt wxwin.pro
|
||||
$(WXDIR)/src/os2/files.lst: os2.t filelist.txt wxwin.pro
|
||||
$(TMAKE) -t os2 wxwin.pro -o $@
|
||||
|
||||
|
@@ -298,7 +298,8 @@ else
|
||||
PATH_SUBST:=$(BACKSLASH)
|
||||
endif
|
||||
|
||||
ARCHINCDIR=$(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(WXDIR)/lib/msw$(INCEXT))
|
||||
#ARCHINCDIR=$(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(WXDIR)/lib/msw$(INCEXT))
|
||||
ARCHINCDIR=(WXDIR)/lib/msw$(INCEXT)
|
||||
|
||||
SETUP_H=$(ARCHINCDIR)/wx/setup.h
|
||||
|
||||
@@ -313,7 +314,9 @@ $(ARCHINCDIR)/wx:
|
||||
mkdir $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(ARCHINCDIR)/wx)
|
||||
|
||||
$(SETUP_H): $(ARCHINCDIR)/wx
|
||||
$(COPY) $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(WXDIR)/include/wx/msw/setup.h) $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$@)
|
||||
$(COPY) $(WXDIR)/include/wx/msw/setup.h $@
|
||||
|
||||
# $(COPY) $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(WXDIR)/include/wx/msw/setup.h) $(subst $(PATH_SUBST),$(PATH_SEPARATOR),$@)
|
||||
|
||||
ifndef WXMAKINGDLL
|
||||
|
||||
|
@@ -90,6 +90,10 @@ do
|
||||
mgl.t)
|
||||
echo "Generating $topdir/src/mgl/files.lst for MGL and Configure..."
|
||||
tmake -t mgl wxwin.pro -o $topdir/src/mgl/files.lst;;
|
||||
|
||||
watmgl.t)
|
||||
echo "Generating $topdir/src/mgl/makefile.wat for Watcom C++ and MGL+DOS..."
|
||||
tmake -t watmgl wxwin.pro -o $topdir/src/mgl/makefile.wat;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
@@ -176,7 +176,7 @@ $(ARCHINCDIR)\wx:
|
||||
mkdir $(ARCHINCDIR)
|
||||
mkdir $(ARCHINCDIR)\wx
|
||||
|
||||
$(SETUP_H):
|
||||
$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h
|
||||
copy $(WXDIR)\include\wx\msw\setup.h $@
|
||||
|
||||
dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D $(JPEGDIR)\$D $(TIFFDIR)\$D $(REGEXDIR)\$D $(ARCHINCDIR)\wx $(WXDIR)\$D
|
||||
|
@@ -89,8 +89,8 @@ LIBTARGET = $(WXLIB)\wx.lib
|
||||
DUMMY=dummydll
|
||||
# ODBCLIB = ..\..\contrib\odbc\odbc32.lib
|
||||
|
||||
EXTRATARGETS = png zlib jpeg tiff
|
||||
EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff
|
||||
EXTRATARGETS = png zlib jpeg tiff regex
|
||||
EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff clean_regex
|
||||
GENDIR=$(WXDIR)\src\generic
|
||||
COMMDIR=$(WXDIR)\src\common
|
||||
JPEGDIR=$(WXDIR)\src\jpeg
|
||||
@@ -118,7 +118,17 @@ HTMLOBJS = #$ ExpandGlue("WXHTMLOBJS", "", " &\n\t")
|
||||
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
|
||||
|
||||
all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
|
||||
ARCHINCDIR=$(WXDIR)\lib\msw
|
||||
SETUP_H=$(ARCHINCDIR)\wx\setup.h
|
||||
|
||||
all: $(SETUP_H) $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
|
||||
|
||||
$(ARCHINCDIR)\wx:
|
||||
mkdir $(ARCHINCDIR)
|
||||
mkdir $(ARCHINCDIR)\wx
|
||||
|
||||
$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h $(ARCHINCDIR)\wx
|
||||
copy $(WXDIR)\include\wx\msw\setup.h $@
|
||||
|
||||
$(LIBTARGET) : $(OBJECTS)
|
||||
%create tmp.lbc
|
||||
@@ -232,56 +242,6 @@ $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
|
||||
}
|
||||
#$}
|
||||
|
||||
|
||||
OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
|
||||
trees$(O)
|
||||
OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
|
||||
infutil$(O) inffast$(O)
|
||||
|
||||
adler32.obj: adler32.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
compress.obj: compress.c zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
crc32.obj: crc32.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
gzio.obj: gzio.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
|
||||
infcodes.h infutil.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
|
||||
infcodes.h inffast.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
uncompr.obj: uncompr.c zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
zutil.obj: zutil.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
png: .SYMBOLIC
|
||||
cd $(WXDIR)\src\png
|
||||
wmake -f makefile.wat all
|
||||
@@ -322,6 +282,16 @@ clean_tiff: .SYMBOLIC
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
regex: .SYMBOLIC
|
||||
cd $(WXDIR)\src\regex
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_regex: .SYMBOLIC
|
||||
cd $(WXDIR)\src\regex
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
MFTYPE=wat
|
||||
self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXDIR)\distrib\msw\tmake
|
||||
|
308
distrib/msw/tmake/watmgl.t
Normal file
308
distrib/msw/tmake/watmgl.t
Normal file
@@ -0,0 +1,308 @@
|
||||
#!#############################################################################
|
||||
#! File: wat.t
|
||||
#! Purpose: tmake template file from which makefile.wat is generated by running
|
||||
#! tmake -t wat wxwin.pro -o makefile.wat
|
||||
#! TODO:
|
||||
#! - extended.c, unzip.c must be compiled with $(CC), not $(CCC).
|
||||
#! - extended.c, unzip.c targets must be as per b32.t etc.
|
||||
#! - OLE files not generated correctly (need 'ole/' directory)
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
next if $wxGeneric{$file} =~ /\bNotMGL\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXGENERICOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxHTML) {
|
||||
next if $wxHTML{$file} =~ /\b16\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXHTMLOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
next if $wxCommon{$file} =~ /\bNotMGL\b/;
|
||||
|
||||
$isCFile = $file =~ /\.c$/;
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXCOMMONOBJS"} .= $file . " ";
|
||||
$project{"WXCOBJS"} .= $file . " " if $isCFile;
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMGL) {
|
||||
#! these files don't compile
|
||||
|
||||
$isBmpbase = $file =~ /bmpbase\.cpp$/;
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
if ($isBmpbase) {
|
||||
$project{"WXCOMMONOBJS"} .= $file . " ";
|
||||
} else {
|
||||
$project{"WXMGLOBJS"} .= $file . " ";
|
||||
}
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxUNIV) {
|
||||
($fileobj = $file) =~ s/cp?p?$/\o/;
|
||||
my $tag = $wxUNIV{$file} =~ /Theme/ ? "WXUNIVTHEMEOBJS" : "WXUNIVOBJS";
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{$tag} .= $file . " ";
|
||||
}
|
||||
#$}
|
||||
#! an attempt to embed '#' directly in the string somehow didn't work...
|
||||
#$ $text = chr(35) . '!/binb/wmake.exe';
|
||||
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
|
||||
|
||||
#
|
||||
# File: makefile.wat
|
||||
# Author: Julian Smart & Vaclav Slavik
|
||||
# Created: 1998
|
||||
#
|
||||
# Makefile : Builds wxWindows library for Watcom C++, DOS+MGL
|
||||
#
|
||||
# NOTE: This file is generated from wat.t by tmake, but not all bugs have
|
||||
# been removed from this process. If wxWindows doesn't compile,
|
||||
# check the following and edit this makefile accordingly:
|
||||
#
|
||||
# - extended.c, gsocket.c, unzip.c must be compiled using $(CC), not $(CCC).
|
||||
# They may also be wrongly specified as extended.cpp, etc.
|
||||
|
||||
WXDIR = ..\..
|
||||
|
||||
!include makewat.env
|
||||
|
||||
WXLIB = $(WXDIR)\lib
|
||||
|
||||
LIBTARGET = $(WXLIB)\wx.lib
|
||||
DUMMY=dummydll
|
||||
# ODBCLIB = ..\..\contrib\odbc\odbc32.lib
|
||||
|
||||
EXTRATARGETS = png zlib jpeg tiff regex
|
||||
EXTRATARGETSCLEAN = clean_png clean_zlib clean_jpeg clean_tiff clean_regex
|
||||
GENDIR=$(WXDIR)\src\generic
|
||||
COMMDIR=$(WXDIR)\src\common
|
||||
JPEGDIR=$(WXDIR)\src\jpeg
|
||||
TIFFDIR=$(WXDIR)\src\tiff
|
||||
MGLDIR=$(WXDIR)\src\mgl
|
||||
UNIVDIR=$(WXDIR)\src\univ
|
||||
UNIVTHEMEDIR=$(WXDIR)\src\univ\themes
|
||||
HTMLDIR=$(WXDIR)\src\html
|
||||
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
|
||||
GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "", " &\n\t")
|
||||
|
||||
COMMONOBJS = &
|
||||
y_tab.obj &
|
||||
#$ ExpandGlue("WXCOMMONOBJS", "", " &\n\t")
|
||||
|
||||
MGLOBJS = #$ ExpandGlue("WXMGLOBJS", "", " &\n\t")
|
||||
|
||||
UNIVOBJS = #$ ExpandGlue("WXUNIVOBJS", "", " &\n\t")
|
||||
|
||||
UNIVTHEMEOBJS = #$ ExpandGlue("WXUNIVTHEMEOBJS", "", " &\n\t")
|
||||
|
||||
HTMLOBJS = #$ ExpandGlue("WXHTMLOBJS", "", " &\n\t")
|
||||
|
||||
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MGLOBJS) $(UNIVOBJS) $(UNIVTHEMEOBJS) $(HTMLOBJS)
|
||||
|
||||
all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) .SYMBOLIC
|
||||
|
||||
$(LIBTARGET) : $(OBJECTS)
|
||||
%create tmp.lbc
|
||||
@for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
|
||||
wlib /b /c /n /p=512 $^@ @tmp.lbc
|
||||
|
||||
clean: .SYMBOLIC $(EXTRATARGETSCLEAN)
|
||||
-erase *.obj
|
||||
-erase $(LIBTARGET)
|
||||
-erase *.pch
|
||||
-erase *.err
|
||||
-erase *.lbc
|
||||
|
||||
cleanall: clean
|
||||
|
||||
#${
|
||||
$_ = $project{"WXMGLOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ': $(';
|
||||
s/\.obj$//;
|
||||
$text .= 'MGLDIR)\\';
|
||||
my $suffix, $cc;
|
||||
if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
|
||||
$suffix = "c";
|
||||
$cc="CC";
|
||||
}
|
||||
else {
|
||||
$suffix = "cpp";
|
||||
$cc="CCC";
|
||||
}
|
||||
$text .= $_ . ".$suffix\n" .
|
||||
" *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
########################################################
|
||||
# wxUNIVERSAL objects (always compiled)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXUNIVOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_;
|
||||
s/\.obj$//;
|
||||
$text .= ': $(UNIVDIR)\\';
|
||||
$text .= $_ . ".cpp\n" .
|
||||
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
#${
|
||||
$_ = $project{"WXUNIVTHEMEOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_;
|
||||
s/\.obj$//;
|
||||
$text .= ': $(UNIVTHEMEDIR)\\';
|
||||
$text .= $_ . ".cpp\n" .
|
||||
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
########################################################
|
||||
# Common objects (always compiled)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXCOMMONOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_;
|
||||
s/\.obj$//;
|
||||
$text .= ': $(COMMDIR)\\';
|
||||
my $suffix, $cc;
|
||||
if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
|
||||
$suffix = "c";
|
||||
$cc="CC";
|
||||
}
|
||||
else {
|
||||
$suffix = "cpp";
|
||||
$cc="CCC";
|
||||
}
|
||||
$text .= $_ . ".$suffix\n" .
|
||||
" *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
|
||||
|
||||
# *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
|
||||
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
|
||||
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
########################################################
|
||||
# Generic objects (not always compiled, depending on
|
||||
# whether platforms have native implementations)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXGENERICOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_;
|
||||
s/\.obj$//;
|
||||
$text .= ': $(GENDIR)\\';
|
||||
$text .= $_ . ".cpp\n" .
|
||||
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
|
||||
########################################################
|
||||
# HTML objects (always compiled)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXHTMLOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_;
|
||||
s/\.obj$//;
|
||||
$text .= ': $(HTMLDIR)\\';
|
||||
$text .= $_ . ".cpp\n" .
|
||||
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
|
||||
png: .SYMBOLIC
|
||||
cd $(WXDIR)\src\png
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
clean_png: .SYMBOLIC
|
||||
cd $(WXDIR)\src\png
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
zlib: .SYMBOLIC
|
||||
cd $(WXDIR)\src\zlib
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
clean_zlib: .SYMBOLIC
|
||||
cd $(WXDIR)\src\zlib
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
jpeg: .SYMBOLIC
|
||||
cd $(WXDIR)\src\jpeg
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
clean_jpeg: .SYMBOLIC
|
||||
cd $(WXDIR)\src\jpeg
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
tiff: .SYMBOLIC
|
||||
cd $(WXDIR)\src\tiff
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
clean_tiff: .SYMBOLIC
|
||||
cd $(WXDIR)\src\tiff
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
regex: .SYMBOLIC
|
||||
cd $(WXDIR)\src\regex
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
clean_regex: .SYMBOLIC
|
||||
cd $(WXDIR)\src\regex
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\mgl
|
||||
|
||||
MFTYPE=watmgl
|
||||
self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXDIR)\distrib\msw\tmake
|
||||
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
|
||||
copy makefile.$(MFTYPE) $(WXDIR)\src\mgl
|
13
distrib/msw/univ.rsp
Normal file
13
distrib/msw/univ.rsp
Normal file
@@ -0,0 +1,13 @@
|
||||
include/wx/unix/*.h
|
||||
include/wx/univ/*.h
|
||||
|
||||
src/unix/*.cpp
|
||||
src/unix/*.c
|
||||
src/univ/*.cpp
|
||||
src/univ/*.c
|
||||
src/univ/*.lst
|
||||
src/univ/themes/*.cpp
|
||||
|
||||
docs/microwin/readme.txt
|
||||
docs/microwin/microwindows.patches
|
||||
|
@@ -231,6 +231,9 @@ samples/validate/Validate.dsw
|
||||
samples/wizard/Wizard.dsp
|
||||
samples/wizard/Wizard.dsw
|
||||
|
||||
samples/widgets/Treelay.dsp
|
||||
samples/widgets/Treelay.dsw
|
||||
|
||||
samples/opengl/cube/Cube.dsp
|
||||
samples/opengl/cube/Cube.dsw
|
||||
samples/opengl/isosurf/Isosurf.dsp
|
||||
|
@@ -85,7 +85,7 @@ zip32 -@ %dest\wxWindows-%version%-msw.zip < %src\distrib\msw\msw.rsp
|
||||
zip32 -@ -u %dest\wxWindows-%version%-msw.zip < %src\distrib\msw\makefile.rsp
|
||||
zip32 -@ %dest\wxWindows-%version%-gtk.zip < %src\distrib\msw\gtk.rsp
|
||||
zip32 -@ -u %dest\wxWindows-%version%-gtk.zip < %src\distrib\msw\makefile.rsp
|
||||
zip32 -@ %dest\wxWindows-%version%-stubs.zip < %src\distrib\msw\stubs.rsp
|
||||
Rem zip32 -@ %dest\wxWindows-%version%-stubs.zip < %src\distrib\msw\stubs.rsp
|
||||
zip32 -@ %dest\wxWindows-%version%-mot.zip < %src\distrib\msw\motif.rsp
|
||||
zip32 -@ -u %dest\wxWindows-%version%-mot.zip < %src\distrib\msw\makefile.rsp
|
||||
Rem (Obsolete) zip32 -@ %dest\wxWindows-%version%-user.zip < %src\distrib\msw\user.rsp
|
||||
@@ -102,6 +102,9 @@ Rem PDF/HTML docs that should go into the Windows setup because
|
||||
Rem there are no WinHelp equivalents
|
||||
zip32 -@ %dest\extradoc-%version%.zip < %src\distrib\msw\extradoc.rsp
|
||||
|
||||
Rem zip up Univ-specific files
|
||||
zip32 -@ %dest\wxWindows-%version%-univ.zip < %src\distrib\msw\univ.rsp
|
||||
|
||||
rem VC++ project files
|
||||
zip32 -@ %dest\wxWindows-%version%-vc.zip < %src\distrib\msw\vc.rsp
|
||||
|
||||
@@ -183,6 +186,7 @@ Rem the source wxWindows directory.
|
||||
cd %dest\wx
|
||||
unzip32 -o ..\wxWindows-%version%-msw.zip
|
||||
unzip32 -o ..\wxWindows-%version%-gen.zip
|
||||
unzip32 -o ..\wxWindows-%version%-univ.zip
|
||||
unzip32 -o ..\wxWindows-%version%-vc.zip
|
||||
unzip32 -o ..\wxWindows-%version%-bc.zip
|
||||
unzip32 -o ..\wxWindows-%version%-HTMLHelp.zip
|
||||
|
127
docs/install.txt
127
docs/install.txt
@@ -1,14 +1,121 @@
|
||||
INSTALL.TXT
|
||||
wxBase README
|
||||
=============
|
||||
|
||||
NB: this file describes the installation of wxBase library. If you are using a
|
||||
GUI version of wxWindows, please refer to the install.txt in the
|
||||
appropriate subdirectory (msw, gtk, motif).
|
||||
NB: this file applies to wxBase library only. If you are using a GUI version
|
||||
of wxWindows, please refer to the documentation in the appropriate
|
||||
subdirectory (msw, gtk, motif &c).
|
||||
|
||||
0. Requirments and supported platforms
|
||||
-----------------------------------
|
||||
|
||||
1. Installing under Win32
|
||||
----------------------
|
||||
Welcome to wxBase!
|
||||
|
||||
0. Introduction
|
||||
---------------
|
||||
|
||||
wxBase is the library providing most of the non-GUI classes of the wxWindows
|
||||
cross-platform C++ framework. wxBase has some generic classes such as yet
|
||||
another C++ string class, typesafe dynamic arrays, hashes and lists and, more
|
||||
excitingly, wxDateTime - a very flexible and powerful class for manipulating
|
||||
the dates in the range of 580 million years with up to millisecond precision.
|
||||
Another useful class not present in the standard C++ library is wxRegEx which
|
||||
allows you to use regular expressions for string matching and replacing.
|
||||
|
||||
There are also classes for writing portable programs in C++ painlessly which
|
||||
encapsulate things like files (and their names), directories, processes,
|
||||
threads, sockets and much more. Some of the other utility classes allow you to
|
||||
parse the command line, limit the number of instances of your program
|
||||
executing simultaneously (portably!) and so on.
|
||||
|
||||
1. Requirments and supported platforms
|
||||
--------------------------------------
|
||||
|
||||
wxBase can be compiled and used under Win32, mostly any modern Unix system
|
||||
(probably including Mac OS X but it wasn't tested there), VMS and BeOS (this
|
||||
release couldn't be tested under these platforms neither so you might
|
||||
encounter some problems but they should be easy to solve - please contact us
|
||||
in this case!)
|
||||
|
||||
It is written without using any modern C++ features (such as templates,
|
||||
exceptions, namespaces) for maximal portability and so you shouldn't have
|
||||
problems compiling it with any C++ compiler at all. However, we only provide
|
||||
the project files for Microsoft Visual C++ 6.0 for Win32 (any contributions
|
||||
are welcome!) - but our Unix makefiles will work with any compiler.
|
||||
|
||||
2. Installing under Win32
|
||||
-------------------------
|
||||
|
||||
Please note that wxBase can be compiled in different configurations under
|
||||
Win32: as a static or shared library, in debug or release mode and in ANSI
|
||||
or Unicode mode for a total of 8 possibilities.
|
||||
|
||||
a) Using Visual C++ 6.0
|
||||
|
||||
Simply open the src/wxBase.dsw file in MSDEV and build it. When it is
|
||||
done you can also open samples/console/console.dsp project and build it as
|
||||
well.
|
||||
|
||||
b) Cygwin
|
||||
|
||||
Please refer to the Unix section below
|
||||
|
||||
c) Other compilers
|
||||
|
||||
Unfortunately we don't have the makefiles for any other compilers yet.
|
||||
Please contact us if you would like to help us with creating one for the
|
||||
compiler you use.
|
||||
|
||||
3. Installing under Unix/BeOS
|
||||
-----------------------------
|
||||
|
||||
NB: If you're building wxBase from the wxWindows distribution and not from a
|
||||
separate wxBase one you will need to add "--disable-gui" to configure
|
||||
arguments below!
|
||||
|
||||
Please note that GNU make is required to build wxBase!
|
||||
|
||||
The recommended way to build wxBase is:
|
||||
|
||||
% cd ..../wxWindows
|
||||
% mkdir base-release
|
||||
% cd base-release
|
||||
% ../configure
|
||||
# ignore the error messages about missing samples
|
||||
% make
|
||||
% make install
|
||||
|
||||
You can also do:
|
||||
|
||||
% mkdir base-debug
|
||||
% cd base-debug
|
||||
% ../configure --enable-debug
|
||||
% make
|
||||
|
||||
To build the sample then cd to samples/console and make there.
|
||||
|
||||
4. Documentation and support
|
||||
----------------------------
|
||||
|
||||
The console sample provided with this distribution tests most (but not all)
|
||||
wxBase classes. It doesn't do anything useful per itself but you may want to
|
||||
look at its code to see examples of usage of the class you are interested in.
|
||||
|
||||
There is no separate documentation for wxBase, please refer to wxWindows
|
||||
documentation instead.
|
||||
|
||||
Support for wxBase is available from the same places as for wxWindows itself,
|
||||
namely:
|
||||
|
||||
* Usenet newsgroup comp.soft-sys.wxwindows
|
||||
|
||||
* Mailing lists: see http://lists.wxwindows.org/ for more information
|
||||
|
||||
* WWW page: http://www.wxwindows.org/
|
||||
|
||||
|
||||
Hope you will find wxBase useful!
|
||||
|
||||
Vadim Zeitlin
|
||||
|
||||
|
||||
This file is accurate for the version 2.3.2 of wxBase. It was last modified on
|
||||
Dec 11, 2001.
|
||||
|
||||
2. Installing under Unix/BeOS
|
||||
--------------------------
|
||||
|
@@ -425,6 +425,7 @@ wxWindows has several small classes to work with disk files, see \helpref{file c
|
||||
overview}{wxfileoverview} for more details.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxFileName}{wxfilename}}{Operations with the file name and attributes}
|
||||
\twocolitem{\helpref{wxDir}{wxdir}}{Class for enumerating files/subdirectories.}
|
||||
\twocolitem{\helpref{wxDirTraverser}{wxdirtraverser}}{Class used together with wxDir for recursively enumerating the files/subdirectories}
|
||||
\twocolitem{\helpref{wxFile}{wxfile}}{Low-level file input/output class.}
|
||||
|
@@ -92,6 +92,7 @@
|
||||
\input fildrptg.tex
|
||||
\input filehist.tex
|
||||
\input strmfile.tex
|
||||
\input filename.tex
|
||||
\input propflva.tex
|
||||
\input filesys.tex
|
||||
\input filesysh.tex
|
||||
|
@@ -281,6 +281,14 @@ specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
|
||||
Same as \helpref{wxCmdLineParser}{wxcmdlineparserwxcmdlineparserstr}, but also
|
||||
specifies the \helpref{command line description}{wxcmdlineparsersetdesc}.
|
||||
|
||||
\membersection{wxCmdLineParser::ConvertStringToArgs}\label{wxcmdlineparserconvertstringtoargs}
|
||||
|
||||
\func{static wxArrayString}{ConvertStringToArgs}{\param{const wxChar }{*cmdline}}
|
||||
|
||||
Breaks down the string containing the full command line in words. The words are
|
||||
separated by whitespace. The quotes can be used in the input string to quote
|
||||
the white space and the back slashes can be used to quote the quotes.
|
||||
|
||||
\membersection{wxCmdLineParser::SetCmdLine}\label{wxcmdlineparsersetcmdlineargc}
|
||||
|
||||
\func{void}{SetCmdLine}{\param{int }{argc}, \param{char** }{argv}}
|
||||
|
@@ -52,3 +52,4 @@ Return TRUE to accept the data, FALSE to veto the operation.
|
||||
|
||||
\perlnote{In wxPerl there is just an array reference in place of {\tt nFiles}
|
||||
and {\tt files}.}
|
||||
|
||||
|
@@ -54,6 +54,8 @@ or test if it can be opened for writing with Access()}
|
||||
contents of the file is not erased and the file pointer is initially placed at the end of the file;
|
||||
can not be used with Access(). This is the same as {\bf wxFile::write} if the
|
||||
file doesn't exist.}
|
||||
\twocolitem{{\bf wxFile::write\_excl}}{Open the file securely for writing (Uses O\_EXCL | O\_CREAT).
|
||||
Will fail if the file already exists, else create and open it atomically. Useful for opening temporary files without being vulnerable to race exploits.}
|
||||
\end{twocollist}
|
||||
|
||||
Other constants defined elsewhere but used by wxFile functions are wxInvalidOffset which represents an
|
||||
|
617
docs/latex/wx/filename.tex
Normal file
617
docs/latex/wx/filename.tex
Normal file
@@ -0,0 +1,617 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Name: filename.tex
|
||||
%% Purpose: wxFileName documentation
|
||||
%% Author: Vadim Zeitlin
|
||||
%% Modified by:
|
||||
%% Created: 30.11.01
|
||||
%% RCS-ID: $Id$
|
||||
%% Copyright: (c) 2001 Vadim Zeitlin
|
||||
%% License: wxWindows license
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{\class{wxFileName}}\label{wxfilename}
|
||||
|
||||
wxFileName encapsulates a file name. This class serves two purposes: first, it
|
||||
provides the functions to split the file names into components and to recombine
|
||||
these components in the full file name which can then be passed to the OS file
|
||||
functions (and \helpref{wxWindows functions}{filefunctions} wrapping them).
|
||||
Second, it includes the functions for working with the files itself. Note that
|
||||
to change the file data you should use \helpref{wxFile}{wxfile} class instead,
|
||||
wxFileName provides functions for working with the file attributes.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
Many wxFileName methods accept the path format argument which is by\rtfsp
|
||||
{\tt wxPATH\_NATIVE} by default meaning to use the path format native for the
|
||||
current platform.
|
||||
|
||||
The path format affects the operation of wxFileName functions in several ways:
|
||||
first and foremost, it defines the path separator character to use, but it also
|
||||
affects other things such as whether the path has the drive part or not.
|
||||
|
||||
\begin{verbatim}
|
||||
enum wxPathFormat
|
||||
{
|
||||
wxPATH_NATIVE = 0, // the path format for the current platform
|
||||
wxPATH_UNIX,
|
||||
wxPATH_MAC,
|
||||
wxPATH_DOS,
|
||||
wxPATH_VMS,
|
||||
|
||||
wxPATH_BEOS = wxPATH_UNIX,
|
||||
wxPATH_WIN = wxPATH_DOS,
|
||||
wxPATH_OS2 = wxPATH_DOS
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
The kind of normalization to do with the file name: these values can be
|
||||
or'd together to perform several operations at once in\rtfsp
|
||||
\helpref{Normalize}{wxfilenamenormalize}.
|
||||
|
||||
\begin{verbatim}
|
||||
enum wxPathNormalize
|
||||
{
|
||||
wxPATH_NORM_ENV_VARS = 0x0001, // replace env vars with their values
|
||||
wxPATH_NORM_DOTS = 0x0002, // squeeze all .. and . and prepend cwd
|
||||
wxPATH_NORM_TILDE = 0x0004, // Unix only: replace ~ and ~user
|
||||
wxPATH_NORM_CASE = 0x0008, // if case insensitive => tolower
|
||||
wxPATH_NORM_ABSOLUTE = 0x0010, // make the path absolute
|
||||
wxPATH_NORM_LONG = 0x0020, // make the path the long form
|
||||
wxPATH_NORM_ALL = 0x003f
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{File name format}
|
||||
|
||||
wxFileName currently supports the file names in the Unix, DOS/Windows, Mac OS
|
||||
and VMS formats. Although these formats are quite different, wxFileName tries
|
||||
to treat them all in the sam generic way. It supposes that all file names
|
||||
consist of the following parts: the volume (also known as drive under Windows
|
||||
or device under VMS), the path which is a sequence of directory names separated
|
||||
by the \helpref{path separators}{wxfilenamegetpathseparators} and the full
|
||||
filename itself which, in turn, is composed from the base file name and the
|
||||
extension. All of the individual components of the file name may be empty and,
|
||||
for example, the volume name is always empty under Unix, but if they are all
|
||||
empty simultaneously, the filename object is considered to be in an invalid
|
||||
state and \helpref{IsOk}{wxfilenameisok} returns {\tt FALSE} for it.
|
||||
|
||||
File names can be case-sensitive or not, the function\rtfsp
|
||||
\helpref{IsCaseSensitive}{wxfilenameiscasesensitive} allows to determine this.
|
||||
|
||||
The rules for determining if the file name is absolute or relative also depends
|
||||
on the file name format and the only portable way to answer to this question is
|
||||
to use \helpref{IsAbsolute}{wxfilenameisabsolute} method. To ensure that the
|
||||
filename is absolute you may use \helpref{Normalize}{wxfilenamenormalize}. There
|
||||
is also an inverse function \helpref{MakeRelativeTo}{wxfilenamemakerelativeto}
|
||||
which undoes what \helpref{Normalize(wxPATH\_NORM\_DOTS}{wxfilenamenormalize}
|
||||
does.
|
||||
|
||||
Other functions returning information about the file format provided by this
|
||||
class are \helpref{GetVolumeSeparator}{wxfilenamegetvolumeseparator},\rtfsp
|
||||
\helpref{IsPathSeparator}{wxfilenameispathseparator} and\rtfsp
|
||||
\helpref{IsWild}{wxfilenameiswild}.
|
||||
|
||||
\helpref{IsRelative}{wxfilenameisrelative}
|
||||
|
||||
\membersection{File name construction}
|
||||
|
||||
TODO.
|
||||
|
||||
\membersection{File tests}
|
||||
|
||||
Before doing the other tests you should use \helpref{IsOk}{wxfilenameisok} to
|
||||
verify that the filename is well defined. If it is,
|
||||
\helpref{FileExists}{wxfilenamefileexists} can be used to test if a file with
|
||||
such name exists and \helpref{DirExists}{wxfilenamedirexists} - if a directory
|
||||
with this name exists.
|
||||
|
||||
File names should be compared using \helpref{SameAs}{wxfilenamesameas} method
|
||||
or \helpref{$==$}{wxfilenameoperatorequal}.
|
||||
|
||||
\membersection{File name components}
|
||||
|
||||
These functions allow to examine and modify the directories of the path:
|
||||
|
||||
\helpref{AppendDir}{wxfilenameappenddir}\\
|
||||
\helpref{InsertDir}{wxfilenameinsertdir}\\
|
||||
\helpref{GetDirCount}{wxfilenamegetdircount}
|
||||
\helpref{PrependDir}{wxfilenameprependdir}\\
|
||||
\helpref{RemoveDir}{wxfilenameremovedir}
|
||||
|
||||
To change the components of the file name individually you can use the
|
||||
following functions:
|
||||
|
||||
\helpref{GetExt}{wxfilenamegetext}\\
|
||||
\helpref{GetName}{wxfilenamegetname}\\
|
||||
\helpref{GetVolume}{wxfilenamegetvolume}\\
|
||||
\helpref{HasExt}{wxfilenamehasext}\\
|
||||
\helpref{HasName}{wxfilenamehasname}\\
|
||||
\helpref{HasVolume}{wxfilenamehasvolume}\\
|
||||
\helpref{SetExt}{wxfilenamesetext}\\
|
||||
\helpref{SetName}{wxfilenamesetname}\\
|
||||
\helpref{SetVolume}{wxfilenamesetvolume}\\
|
||||
|
||||
\membersection{Operations}
|
||||
|
||||
These methods allow to work with the file creation, access and modification
|
||||
times:
|
||||
|
||||
\helpref{GetModificationTime}{wxfilenamegetmodificationtime}\\
|
||||
\helpref{GetTimes}{wxfilenamegettimes}\\
|
||||
\helpref{SetTimes}{wxfilenamesettimes}\\
|
||||
\helpref{Touch}{wxfilenametouch}
|
||||
|
||||
Other file system operations functions are:
|
||||
|
||||
\helpref{Mkdir}{wxfilenamemkdir}\\
|
||||
\helpref{Rmdir}{wxfilenamermdir}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxFileName::wxFileName}\label{wxfilenamewxfilename}
|
||||
|
||||
\func{}{wxFileName}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxFileName}{\param{const wxFileName\& }{filename}}
|
||||
|
||||
Copy constructor.
|
||||
|
||||
\func{}{wxFileName}{\param{const wxString\& }{fullpath}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
From a full filename: if it terminates with a '/', a directory path
|
||||
is contructed (the name will be empty), otherwise a file name and
|
||||
extension are extracted from it
|
||||
|
||||
\func{}{wxFileName}{\param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Constructor from a directory name and a file name.
|
||||
|
||||
\func{}{wxFileName}{\param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{const wxString\& }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Constructor from a directory name, base file name and extension
|
||||
|
||||
\func{}{wxFileName}{\param{const wxString\& }{volume}, \param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{const wxString\& }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Constructor from a volume name, a directory name, base file name and extension
|
||||
|
||||
\membersection{wxFileName::AppendDir}\label{wxfilenameappenddir}
|
||||
|
||||
\func{void}{AppendDir}{\param{const wxString\& }{dir}}
|
||||
|
||||
|
||||
\membersection{wxFileName::Assign}\label{wxfilenameassign}
|
||||
|
||||
\func{void}{Assign}{\param{const wxFileName\& }{filepath}}
|
||||
|
||||
\func{void}{Assign}{\param{const wxString\& }{fullpath}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
\func{void}{Assign}{\param{const wxString\& }{volume}, \param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{const wxString\& }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
\func{void}{Assign}{\param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
\func{void}{Assign}{\param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{const wxString\& }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
|
||||
\membersection{wxFileName::AssignCwd}\label{wxfilenameassigncwd}
|
||||
|
||||
\func{void}{AssignCwd}{\param{const wxString\& }{volume = ""}}
|
||||
|
||||
Makes this object refer to the current working directory on the specified
|
||||
volume (or current volume if {\it volume} is empty).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{GetCwd}{wxfilenamegetcwd}
|
||||
|
||||
\membersection{wxFileName::AssignDir}\label{wxfilenameassigndir}
|
||||
|
||||
\func{void}{AssignDir}{\param{const wxString\& }{dir}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Set this file name object to the given directory name. The name and extension
|
||||
will be empty.
|
||||
|
||||
\membersection{wxFileName::AssignHomeDir}\label{wxfilenameassignhomedir}
|
||||
|
||||
\func{void}{AssignHomeDir}{\void}
|
||||
|
||||
Set this file name object to the home directory.
|
||||
|
||||
\membersection{wxFileName::AssignTempFileName}\label{wxfilenameassigntempfilename}
|
||||
|
||||
\func{void}{AssignTempFileName}{\param{const wxString\& }{prefix}}
|
||||
|
||||
The function calls \helpref{CreateTempFileName}{wxfilenamecreatetempfilename} to
|
||||
create a temporary file and sets this object to the name of the file. If a
|
||||
temporary file couldn't be created, the object is put into the\rtfsp
|
||||
\helpref{invalid}{wxfilenameisok} state.
|
||||
|
||||
\membersection{wxFileName::Clear}\label{wxfilenameclear}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
Reset all components to default, uninitialized state.
|
||||
|
||||
\membersection{wxFileName::CreateTempFileName}\label{wxfilenamecreatetempfilename}
|
||||
|
||||
\func{static wxString}{CreateTempFileName}{\param{const wxString\& }{prefix}}
|
||||
|
||||
Returns a temporary file name starting with the given {\it prefix}. If
|
||||
the {\it prefix} is an absolute path, the temporary file is created in this
|
||||
directory, otherwise it is created in the default system directory for the
|
||||
temporary files or in the current directory.
|
||||
|
||||
If the function succeeds, the temporary file is actually created (but not
|
||||
opened) as well. Under Unix, it will have read and write permissions for the
|
||||
owner only.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
The full temporary file name or an empty string on error.
|
||||
|
||||
\membersection{wxFileName::DirExists}\label{wxfilenamedirexists}
|
||||
|
||||
\func{bool}{DirExists}{\void}
|
||||
|
||||
\func{bool}{DirExists}{\param{const wxString\& }{dir}}
|
||||
|
||||
Does the directory with this name exists?
|
||||
|
||||
\membersection{wxFileName::DirName}\label{wxfilenamedirname}
|
||||
|
||||
\func{wxFileName}{DirName}{\param{const wxString\& }{dir}}
|
||||
|
||||
\membersection{wxFileName::FileExists}\label{wxfilenamefileexists}
|
||||
|
||||
\func{bool}{FileExists}{\void}
|
||||
|
||||
\func{bool}{FileExists}{\param{const wxString\& }{file}}
|
||||
|
||||
Does the file with this name exists?
|
||||
|
||||
\membersection{wxFileName::FileName}\label{wxfilenamefilename}
|
||||
|
||||
\func{wxFileName}{FileName}{\param{const wxString\& }{file}}
|
||||
|
||||
static pseudo constructors
|
||||
|
||||
\membersection{wxFileName::GetCwd}\label{wxfilenamegetcwd}
|
||||
|
||||
\func{wxString}{GetCwd}{\param{const wxString\& }{volume = ""}}
|
||||
|
||||
Retrieve the value of the current working directory on the specified volume. If
|
||||
the volume is empty, the programs current working directory is returned for the
|
||||
current volume.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
The string containing the current working directory or an empty string on
|
||||
error.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{AssignCwd}{wxfilenameassigncwd}
|
||||
|
||||
\membersection{wxFileName::GetDirCount}\label{wxfilenamegetdircount}
|
||||
|
||||
\constfunc{size\_t}{GetDirCount}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::GetDirs}\label{wxfilenamegetdirs}
|
||||
|
||||
\constfunc{const wxArrayString\&}{GetDirs}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::GetExt}\label{wxfilenamegetext}
|
||||
|
||||
\constfunc{wxString}{GetExt}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::GetFormat}\label{wxfilenamegetformat}
|
||||
|
||||
\func{wxPathFormat}{GetFormat}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
various helpers
|
||||
get the canonical path format for this platform
|
||||
|
||||
|
||||
\membersection{wxFileName::GetFullName}\label{wxfilenamegetfullname}
|
||||
|
||||
\constfunc{wxString}{GetFullName}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::GetFullPath}\label{wxfilenamegetfullpath}
|
||||
|
||||
\constfunc{wxString}{GetFullPath}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
add separator Construct full path with name and ext
|
||||
|
||||
|
||||
\membersection{wxFileName::GetHomeDir}\label{wxfilenamegethomedir}
|
||||
|
||||
\func{wxString}{GetHomeDir}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::GetLongPath}\label{wxfilenamegetlongpath}
|
||||
|
||||
\constfunc{wxString}{GetLongPath}{\void}
|
||||
|
||||
Return the long form of the path (returns identity on non-Windows platforms)
|
||||
|
||||
|
||||
\membersection{wxFileName::GetModificationTime}\label{wxfilenamegetmodificationtime}
|
||||
|
||||
\constfunc{wxDateTime}{GetModificationTime}{\void}
|
||||
|
||||
convenience wrapper: get just the last mod time of the file
|
||||
|
||||
|
||||
\membersection{wxFileName::GetName}\label{wxfilenamegetname}
|
||||
|
||||
\constfunc{wxString}{GetName}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::GetPath}\label{wxfilenamegetpath}
|
||||
|
||||
\constfunc{wxString}{GetPath}{\param{bool }{add\_separator = FALSE}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Construct path only - possibly with the trailing separator
|
||||
|
||||
|
||||
\membersection{wxFileName::GetPathSeparators}\label{wxfilenamegetpathseparators}
|
||||
|
||||
\func{wxString}{GetPathSeparators}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
get the string of path separators for this format
|
||||
|
||||
|
||||
\membersection{wxFileName::GetPathWithSep}\label{wxfilenamegetpathwithsep}
|
||||
|
||||
\constfunc{wxString}{GetPathWithSep}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
more readable synonym
|
||||
|
||||
|
||||
\membersection{wxFileName::GetShortPath}\label{wxfilenamegetshortpath}
|
||||
|
||||
\constfunc{wxString}{GetShortPath}{\void}
|
||||
|
||||
Return the short form of the path (returns identity on non-Windows platforms)
|
||||
|
||||
|
||||
\membersection{wxFileName::GetTimes}\label{wxfilenamegettimes}
|
||||
|
||||
\constfunc{bool}{GetTimes}{\param{wxDateTime* }{dtAccess}, \param{wxDateTime* }{dtMod}, \param{wxDateTime* }{dtChange}}
|
||||
|
||||
return the last access, last modification and last change times
|
||||
(any of the pointers may be NULL)
|
||||
|
||||
|
||||
\membersection{wxFileName::GetVolume}\label{wxfilenamegetvolume}
|
||||
|
||||
\constfunc{wxString}{GetVolume}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::GetVolumeSeparator}\label{wxfilenamegetvolumeseparator}
|
||||
|
||||
\func{wxString}{GetVolumeSeparator}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
get the string separating the volume from the path for this format
|
||||
|
||||
|
||||
\membersection{wxFileName::HasExt}\label{wxfilenamehasext}
|
||||
|
||||
\constfunc{bool}{HasExt}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::HasName}\label{wxfilenamehasname}
|
||||
|
||||
\constfunc{bool}{HasName}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::HasVolume}\label{wxfilenamehasvolume}
|
||||
|
||||
\constfunc{bool}{HasVolume}{\void}
|
||||
|
||||
|
||||
\membersection{wxFileName::InsertDir}\label{wxfilenameinsertdir}
|
||||
|
||||
\func{void}{InsertDir}{\param{int }{before}, \param{const wxString\& }{dir}}
|
||||
|
||||
|
||||
\membersection{wxFileName::IsAbsolute}\label{wxfilenameisabsolute}
|
||||
|
||||
\func{bool}{IsAbsolute}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
is this filename absolute?
|
||||
|
||||
|
||||
\membersection{wxFileName::IsCaseSensitive}\label{wxfilenameiscasesensitive}
|
||||
|
||||
\func{bool}{IsCaseSensitive}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Tests
|
||||
are the file names of this type cases sensitive?
|
||||
|
||||
|
||||
\membersection{wxFileName::IsOk}\label{wxfilenameisok}
|
||||
|
||||
\constfunc{bool}{IsOk}{\void}
|
||||
|
||||
Returns {\tt TRUE} if the filename is valid, {\tt FALSE} if it is not
|
||||
initialized yet. The assignment functions and
|
||||
\helpref{Clear}{wxfilenameclear} may reset the object to the uninitialized,
|
||||
invalid state (the former only do it on failure).
|
||||
|
||||
\membersection{wxFileName::IsPathSeparator}\label{wxfilenameispathseparator}
|
||||
|
||||
\func{bool}{IsPathSeparator}{\param{wxChar }{ch}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Returns {\tt TRUE} if the char is a path separator for this format.
|
||||
|
||||
\membersection{wxFileName::IsRelative}\label{wxfilenameisrelative}
|
||||
|
||||
\func{bool}{IsRelative}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Returns {\tt TRUE} if this filename is not absolute.
|
||||
|
||||
\membersection{wxFileName::IsWild}\label{wxfilenameiswild}
|
||||
|
||||
\func{bool}{IsWild}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
FIXME: what exactly does this do?
|
||||
|
||||
\membersection{wxFileName::MakeRelativeTo}\label{wxfilenamemakerelativeto}
|
||||
|
||||
\func{bool}{MakeRelativeTo}{\param{const wxString\& }{pathBase = ""}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
This function tries to put this file name in a form relative to {\it pathBase}.
|
||||
In other words, it returns the file name which should be used to access this
|
||||
file if the current directory were {\it pathBase}.
|
||||
|
||||
\docparam{pathBase}{the directory to use as root, current directory is used by
|
||||
default}
|
||||
|
||||
\docparam{format}{the file name format, native by default}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
{\tt TRUE} if the file name has been changed, {\tt FALSE} if we failed to do
|
||||
anything with it (currently this only happens if the file name is on a volume
|
||||
different from the volume specified by {\it pathBase}).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Normalize}{wxfilenamenormalize}
|
||||
|
||||
\membersection{wxFileName::Mkdir}\label{wxfilenamemkdir}
|
||||
|
||||
\func{bool}{Mkdir}{\param{int }{perm = 0777}, \param{bool }{full = FALSE}}
|
||||
|
||||
\func{static bool}{Mkdir}{\param{const wxString\& }{dir}, \param{int }{perm = 0777}, \param{bool }{full = FALSE}}
|
||||
|
||||
\docparam{dir}{the directory to create}
|
||||
|
||||
\docparam{parm}{the permissions for the newly created directory}
|
||||
|
||||
\docparam{full}{if {\tt TRUE}, will try to make each directory in the path}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns {\tt TRUE} if the directory was successfully created, {\tt FALSE}
|
||||
otherwise.
|
||||
|
||||
\membersection{wxFileName::Normalize}\label{wxfilenamenormalize}
|
||||
|
||||
\func{bool}{Normalize}{\param{wxPathNormalize }{flags = wxPATH\_NORM\_ALL}, \param{const wxString\& }{cwd = wxEmptyString}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
operations on the path
|
||||
normalize the path: with the default flags value, the path will be
|
||||
made absolute, without any ".." and "." and all environment
|
||||
variables will be expanded in it
|
||||
this may be done using another (than current) value of cwd
|
||||
|
||||
|
||||
\membersection{wxFileName::PrependDir}\label{wxfilenameprependdir}
|
||||
|
||||
\func{void}{PrependDir}{\param{const wxString\& }{dir}}
|
||||
|
||||
|
||||
\membersection{wxFileName::RemoveDir}\label{wxfilenameremovedir}
|
||||
|
||||
\func{void}{RemoveDir}{\param{int }{pos}}
|
||||
|
||||
|
||||
\membersection{wxFileName::Rmdir}\label{wxfilenamermdir}
|
||||
|
||||
\func{bool}{Rmdir}{\void}
|
||||
|
||||
\func{static bool}{Rmdir}{\param{const wxString\& }{dir}}
|
||||
|
||||
Deletes the specified directory.
|
||||
|
||||
|
||||
\membersection{wxFileName::SameAs}\label{wxfilenamesameas}
|
||||
|
||||
\func{bool}{SameAs}{\param{const wxFileName\& }{filepath}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
Compares the filename using the rules of this platform
|
||||
|
||||
|
||||
\membersection{wxFileName::SetCwd}\label{wxfilenamesetcwd}
|
||||
|
||||
\func{bool}{SetCwd}{\void}
|
||||
|
||||
\func{static bool}{SetCwd}{\param{const wxString\& }{cwd}}
|
||||
|
||||
change the current working directory
|
||||
|
||||
\membersection{wxFileName::SetExt}\label{wxfilenamesetext}
|
||||
|
||||
\func{void}{SetExt}{\param{const wxString\& }{ext}}
|
||||
|
||||
|
||||
\membersection{wxFileName::SetFullName}\label{wxfilenamesetfullname}
|
||||
|
||||
\func{void}{SetFullName}{\param{const wxString\& }{fullname}}
|
||||
|
||||
full name is the file name + extension (but without the path)
|
||||
|
||||
|
||||
\membersection{wxFileName::SetName}\label{wxfilenamesetname}
|
||||
|
||||
\func{void}{SetName}{\param{const wxString\& }{name}}
|
||||
|
||||
|
||||
\membersection{wxFileName::SetTimes}\label{wxfilenamesettimes}
|
||||
|
||||
\func{bool}{SetTimes}{\param{const wxDateTime* }{dtCreate}, \param{const wxDateTime* }{dtAccess}, \param{const wxDateTime* }{dtMod}}
|
||||
|
||||
set the file creation and last access/mod times
|
||||
(any of the pointers may be NULL)
|
||||
|
||||
|
||||
\membersection{wxFileName::SetVolume}\label{wxfilenamesetvolume}
|
||||
|
||||
\func{void}{SetVolume}{\param{const wxString\& }{volume}}
|
||||
|
||||
|
||||
\membersection{wxFileName::SplitPath}\label{wxfilenamesplitpath}
|
||||
|
||||
\func{void}{SplitPath}{\param{const wxString\& }{fullpath}, \param{wxString* }{volume}, \param{wxString* }{path}, \param{wxString* }{name}, \param{wxString* }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
\func{void}{SplitPath}{\param{const wxString\& }{fullpath}, \param{wxString* }{path}, \param{wxString* }{name}, \param{wxString* }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
|
||||
|
||||
split a fullpath into the volume, path, (base) name and extension
|
||||
(all of the pointers can be NULL)
|
||||
|
||||
\membersection{wxFileName::Touch}\label{wxfilenametouch}
|
||||
|
||||
\func{bool}{Touch}{\void}
|
||||
|
||||
set the access and modification times to the current moment
|
||||
|
||||
|
||||
\membersection{wxFileName::operator=}\label{wxfilenameoperatorassign}
|
||||
|
||||
\func{wxFileName\& operator}{operator=}{\param{const wxFileName\& }{filename}}
|
||||
|
||||
\func{wxFileName\& operator}{operator=}{\param{const wxString\& }{filename}}
|
||||
|
||||
Assigns the new value to this filename object.
|
||||
|
||||
\membersection{wxFileName::operator==}\label{wxfilenameoperatorequal}
|
||||
|
||||
\func{bool operator}{operator==}{\param{const wxFileName\& }{filename}}
|
||||
|
||||
\func{bool operator}{operator==}{\param{const wxString\& }{filename}}
|
||||
|
||||
Returns {\tt TRUE} if the filenames are equal for the native file format.
|
||||
|
@@ -265,15 +265,19 @@ if the buffer is NULL.
|
||||
|
||||
\func{bool}{wxGetTempFileName}{\param{const wxString\& }{prefix}, \param{wxString\& }{buf}}
|
||||
|
||||
Makes a temporary filename based on {\it prefix}, opens and closes the file,
|
||||
and places the name in {\it buf}. If {\it buf} is NULL, new store
|
||||
is allocated for the temporary filename using {\it new}.
|
||||
%% Makes a temporary filename based on {\it prefix}, opens and closes the file,
|
||||
%% and places the name in {\it buf}. If {\it buf} is NULL, new store
|
||||
%% is allocated for the temporary filename using {\it new}.
|
||||
%%
|
||||
%% Under Windows, the filename will include the drive and name of the
|
||||
%% directory allocated for temporary files (usually the contents of the
|
||||
%% TEMP variable). Under Unix, the {\tt /tmp} directory is used.
|
||||
%%
|
||||
%% It is the application's responsibility to create and delete the file.
|
||||
|
||||
Under Windows, the filename will include the drive and name of the
|
||||
directory allocated for temporary files (usually the contents of the
|
||||
TEMP variable). Under Unix, the {\tt /tmp} directory is used.
|
||||
|
||||
It is the application's responsibility to create and delete the file.
|
||||
These functions are obsolete, please use\rtfsp
|
||||
\helpref{wxFileName::CreateTempFileName}{wxfilenamecreatetempfilename}\rtfsp
|
||||
instead.
|
||||
|
||||
\membersection{::wxIsWild}\label{wxiswild}
|
||||
|
||||
|
@@ -127,7 +127,7 @@ Inserts data into the hash table, using an integer or string key (depending on w
|
||||
has table constructor was used). The key string is copied and stored by the hash
|
||||
table implementation.
|
||||
|
||||
\membersection{wxList::GetCount}
|
||||
\membersection{wxHashTable::GetCount}
|
||||
|
||||
\constfunc{size\_t}{GetCount}{\void}
|
||||
|
||||
|
@@ -24,7 +24,8 @@ also has operators for implicit construction from and conversion to the native
|
||||
{\it long long} type if it exists and {\it long}.
|
||||
|
||||
You would usually use this type in exactly the same manner as any other
|
||||
(built-in) arithmetic type. Note that wxLongLong is a signed type.
|
||||
(built-in) arithmetic type. Note that wxLongLong is a signed type, if you
|
||||
want unsigned values use wxULongLong.
|
||||
|
||||
If a native (i.e. supported directly by the compiler) 64 bit integer type was
|
||||
found a typedef {\it wxLongLong\_t} will be defined to correspond it.
|
||||
@@ -71,7 +72,7 @@ Assignment operator from native long long (only for compilers supporting it).
|
||||
\func{wxLongLong\&}{Abs}{\void}
|
||||
|
||||
Returns an absolute value of wxLongLong - either making a copy (const version)
|
||||
or modifying it in place (the second one).
|
||||
or modifying it in place (the second one). Not in wxULongLong.
|
||||
|
||||
\membersection{wxLongLong::Assign}\label{wxlonglongassign}
|
||||
|
||||
@@ -79,7 +80,7 @@ or modifying it in place (the second one).
|
||||
|
||||
This allows to convert a double value to wxLongLong type. Such conversion is
|
||||
not always possible in which case the result will be silently truncated in a
|
||||
platform-dependent way.
|
||||
platform-dependent way. Not in wxULongLong.
|
||||
|
||||
\membersection{wxLongLong::GetHi}\label{wxlonglonggethi}
|
||||
|
||||
@@ -137,7 +138,7 @@ Pre/post increment operator.
|
||||
|
||||
\constfunc{wxLongLong}{operator$-$}{\void}
|
||||
|
||||
Returns the value of this wxLongLong with opposite sign.
|
||||
Returns the value of this wxLongLong with opposite sign. Not in wxULongLong.
|
||||
|
||||
\membersection{wxLongLong::operator$-$}\label{wxlonglongoperatorminus}
|
||||
|
||||
|
@@ -31,7 +31,7 @@
|
||||
}}
|
||||
\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin,
|
||||
Robin Dunn, et al}
|
||||
\date{September 6th 2001}
|
||||
\date{December 7th 2001}
|
||||
}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
|
@@ -6,8 +6,9 @@ This class manages up to two subwindows. The current view can be
|
||||
split into two programmatically (perhaps from a menu command), and unsplit
|
||||
either programmatically or via the wxSplitterWindow user interface.
|
||||
|
||||
Appropriate 3D shading for the Windows 95 user interface is an option.
|
||||
This is also recommended for GTK.
|
||||
Appropriate 3D shading for the Windows 95 user interface is an option -
|
||||
this is also recommended for GTK. Optionally, the sash can be made to
|
||||
look more like the native control under MacOS X.
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
|
@@ -5,12 +5,36 @@ mouse clicks. An icon has an optional tooltip. This class is only supported for
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/taskbar.h>
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a taskbar icon, use the following event handler macros to direct input to member
|
||||
functions that take a wxTaskBarIconEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_TASKBAR\_MOVE(func)}}{Process a
|
||||
wxEVT\_TASKBAR\_MOVE event.}
|
||||
\twocolitem{{\bf EVT\_TASKBAR\_LEFT\_DOWN(func)}}{Process a
|
||||
wxEVT\_TASKBAR\_LEFT\_DOWN event.}
|
||||
\twocolitem{{\bf EVT\_TASKBAR\_LEFT\_UP(func)}}{Process a
|
||||
wxEVT\_TASKBAR\_LEFT\_UP event.}
|
||||
\twocolitem{{\bf EVT\_TASKBAR\_RIGHT\_DOWN(func)}}{Process a
|
||||
wxEVT\_TASKBAR\_RIGHT\_DOWN event.}
|
||||
\twocolitem{{\bf EVT\_TASKBAR\_RIGHT\_UP(func)}}{Process a
|
||||
wxEVT\_TASKBAR\_RIGHT\_UP event.}
|
||||
\twocolitem{{\bf EVT\_TASKBAR\_LEFT\_DCLICK(func)}}{Process a
|
||||
wxEVT\_TASKBAR\_LEFT\_DCLICK event.}
|
||||
\twocolitem{{\bf EVT\_TASKBAR\_RIGHT\_DCLICK(func)}}{Process a
|
||||
wxEVT\_TASKBAR\_RIGHT\_DCLICK event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxTaskBarIcon::wxTaskBarIcon}\label{wxtaskbariconconstr}
|
||||
|
@@ -389,7 +389,7 @@ Copies the selected text to the clipboard and removes the selection.
|
||||
|
||||
Resets the internal `modified' flag as if the current edits had been saved.
|
||||
|
||||
\membersection{wxTextCtrl::GetDefaultStyle}{wxtextctrlgetdefaultstyle}
|
||||
\membersection{wxTextCtrl::GetDefaultStyle}\label{wxtextctrlgetdefaultstyle}
|
||||
|
||||
\constfunc{const wxTextAttr\& }{GetDefaultStyle}{\void}
|
||||
|
||||
@@ -681,6 +681,10 @@ If either of the font, foreground, or background colour is not set in\rtfsp
|
||||
the previous default style didn't set them neither, the global font or colours
|
||||
of the text control itself are used as fall back.
|
||||
|
||||
However if the {\it style} parameter is the default wxTextAttr, then the
|
||||
default style is just reset (instead of being combined with the new style which
|
||||
wouldn't change it at all).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{style}{The style for the new text.}
|
||||
|
@@ -9,7 +9,8 @@ will create it when required.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxFrame}{wxframe}\\
|
||||
wxPopupTransientWindow\\
|
||||
wxPopupWindow\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
@@ -2068,6 +2068,10 @@ for them is found. Using this style allows to prevent them from being
|
||||
propagated beyond this window. Notice that wxDialog has this style on by
|
||||
default for the reasons explained in the
|
||||
\helpref{event processing overview}{eventprocessing}.}
|
||||
\twocolitem{\windowstyle{wxWS\_EX\_TRANSIENT}}{This can be used to prevent a
|
||||
window from being used as an implicit parent for the dialogs which were
|
||||
created without a parent. It is useful for the windows which can disappear at
|
||||
any moment as creating childs of such windows results in fatal problems.}
|
||||
\end{twocollist}
|
||||
|
||||
\membersection{wxWindow::SetFocus}\label{wxwindowsetfocus}
|
||||
|
@@ -1116,3 +1116,57 @@ Implicit conversion to a C string.
|
||||
|
||||
These comparisons are case-sensitive.
|
||||
|
||||
|
||||
\section{\class{wxStringBuffer}}\label{wxstringbuffer}
|
||||
|
||||
This tiny class allows to conveniently access the \helpref{wxString}{wxstring}
|
||||
internal buffer as a writable pointer without any risk to forget to restore
|
||||
the string to the usable state later.
|
||||
|
||||
For example, assuming you have a low-level OS function called
|
||||
{\tt GetMeaningOfLifeAsString(char *)} returning the value in the provided
|
||||
buffer (which must be writable, of course) you might call it like this:
|
||||
|
||||
\begin{verbatim}
|
||||
wxString theAnswer;
|
||||
GetMeaningOfLifeAsString(wxStringBuffer(theAnswer, 1024));
|
||||
if ( theAnswer != "42" )
|
||||
{
|
||||
wxLogError("Something is very wrong!");
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/string.h>
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxStringBuffer::wxStringBuffer}
|
||||
|
||||
\func{}{wxStringBuffer}{\param{const wxString\& }{str}, \param{size\_t }{len}}
|
||||
|
||||
Constructs a writable string buffer object associated with the given string
|
||||
and containing enough space for at least {\it len} characters. Basicly, this
|
||||
is equivalent to calling \helpref{GetWriteBuf}{wxstringgetwritebuf} and
|
||||
saving the result.
|
||||
|
||||
\membersection{wxStringBuffer::\destruct{wxStringBuffer}}
|
||||
|
||||
\func{}{\destruct{wxStringBuffer}}{\void}
|
||||
|
||||
Restores the string passed to the constructor to the usable state by calling
|
||||
\helpref{UngetWriteBuf}{wxstringungetwritebuf} on it.
|
||||
|
||||
\membersection{wxStringBuffer::operator wxChar *}
|
||||
|
||||
\constfunc{wxChar *}{operator wxChar *}{\void}
|
||||
|
||||
Returns the writable pointer to a buffer of the size at least equal to the
|
||||
length specified in the constructor.
|
||||
|
||||
|
||||
|
59
docs/mac/BuildSamplesM5.as → docs/mac/M5build.applescript
Executable file → Normal file
59
docs/mac/BuildSamplesM5.as → docs/mac/M5build.applescript
Executable file → Normal file
@@ -1,10 +1,13 @@
|
||||
--
|
||||
-- File: BuildSamplesM5.as
|
||||
-- Purpose: Automatic build of samples with CodeWarrior 5
|
||||
-----------------------------------------------------------------------------
|
||||
-- Name: docs/mac/M5build.applescript
|
||||
-- Purpose: Automatic build of projects with CodeWarrior 5
|
||||
-- Author: Gilles Depeyrot
|
||||
-- Modified by:
|
||||
-- Created: 06.10.2001
|
||||
--
|
||||
|
||||
-- RCS-ID: $Id$
|
||||
-- Copyright: (c) 2001 Gilles Depeyrot
|
||||
-- Licence: wxWindows licence
|
||||
-----------------------------------------------------------------------------
|
||||
--
|
||||
-- This AppleScript automatically recurses through the selected folder looking for
|
||||
-- and building CodeWarrior projects.
|
||||
@@ -21,7 +24,7 @@ property gProjectSuffix : "M5.mcp"
|
||||
--
|
||||
property gEol : "
|
||||
"
|
||||
property gSeparator : "--------------------------------------------------------------------------------" & gEol
|
||||
property gSeparator : "-------------------------------------------------------------------------------" & gEol
|
||||
|
||||
--
|
||||
-- Project and build success count
|
||||
@@ -33,17 +36,17 @@ set theProjectSuccessCount to 0
|
||||
-- Default log file name
|
||||
--
|
||||
set theDate to (day of (current date)) & "/" & GetMonthIndex(current date) & "/" & (year of (current date))
|
||||
set theLogFileName to "wxMac samples " & theDate & ".log"
|
||||
set theLogFileName to "build-" & theDate & ".log"
|
||||
|
||||
--
|
||||
-- Ask the user to select the wxWindows samples folder
|
||||
--
|
||||
set theFolder to choose folder with prompt "Select the wxWindows samples folder"
|
||||
set theFolder to choose folder with prompt "Select the folder in which to build the projects"
|
||||
|
||||
--
|
||||
-- Ask the user to choose the build log file
|
||||
--
|
||||
set theLogFile to choose file name with prompt "Create the wxWindows samples build log file" default name theLogFileName
|
||||
set theLogFile to choose file name with prompt "Save the build log file" default name theLogFileName
|
||||
|
||||
--
|
||||
-- Open the log file to record the build log
|
||||
@@ -54,7 +57,7 @@ set theLogFileRef to open for access theLogFile with write permission
|
||||
-- Write log file header
|
||||
--
|
||||
write gSeparator starting at 0 to theLogFileRef
|
||||
write "wxWindows samples build log" & gEol to theLogFileRef
|
||||
write "Build log" & gEol to theLogFileRef
|
||||
write gSeparator to theLogFileRef
|
||||
write "start on " & ((current date) as string) & gEol to theLogFileRef
|
||||
write gSeparator to theLogFileRef
|
||||
@@ -101,13 +104,6 @@ write gSeparator to theLogFileRef
|
||||
-- Close the log file
|
||||
--
|
||||
close access theLogFileRef
|
||||
--
|
||||
-- Open the file in BBEdit Lite
|
||||
--
|
||||
tell application "BBEdit Lite 6.1"
|
||||
activate
|
||||
open theLogFile
|
||||
end tell
|
||||
|
||||
--
|
||||
-- BuildProjects
|
||||
@@ -115,21 +111,24 @@ end tell
|
||||
on BuildProjects(inLogFileRef, inFolder, inTarget, inRebuild)
|
||||
global theProjectCount, theProjectSuccessCount
|
||||
|
||||
tell application "Finder" to set theSubFolders to every folder of inFolder
|
||||
tell application "Finder" to update inFolder
|
||||
|
||||
repeat with theFolder in theSubFolders
|
||||
try
|
||||
tell application "Finder" to set theProject to ((the first file of inFolder whose name ends with gProjectSuffix) as string)
|
||||
on error
|
||||
set theProject to ""
|
||||
end try
|
||||
|
||||
tell application "Finder" to set theProject to (the first file of theFolder whose name ends with gProjectSuffix)
|
||||
|
||||
if theProject as string is not "" then
|
||||
if theProject is not "" then
|
||||
set theProjectCount to theProjectCount + 1
|
||||
write "building project '" & (theProject as string) & "'" & gEol to inLogFileRef
|
||||
|
||||
write "building project '" & theProject & "'" & gEol to inLogFileRef
|
||||
|
||||
tell application "CodeWarrior IDE 4.0.4"
|
||||
--
|
||||
-- Open the project in CodeWarrior
|
||||
--
|
||||
open theProject as string
|
||||
open theProject
|
||||
--
|
||||
-- Change to the requested target
|
||||
--
|
||||
@@ -155,11 +154,13 @@ on BuildProjects(inLogFileRef, inFolder, inTarget, inRebuild)
|
||||
write gEol to inLogFileRef
|
||||
ReportBuildInfo(inLogFileRef, theBuildInfo)
|
||||
write gSeparator to inLogFileRef
|
||||
else
|
||||
BuildProjects(inLogFileRef, theFolder, inTarget, inRebuild)
|
||||
end if
|
||||
|
||||
tell application "Finder" to set theSubFolders to every folder of inFolder whose name does not end with " Data"
|
||||
repeat with theFolder in theSubFolders
|
||||
BuildProjects(inLogFileRef, theFolder, inTarget, inRebuild)
|
||||
end repeat
|
||||
|
||||
end BuildProjects
|
||||
|
||||
--
|
||||
@@ -175,16 +176,16 @@ on ReportBuildInfo(inLogFileRef, inBuildInfo)
|
||||
tell application "CodeWarrior IDE 4.0.4"
|
||||
set theKind to ((messageKind of theInfo) as string)
|
||||
|
||||
write "*** " & theKind & " *** " & message of theInfo & gEol to inLogFileRef
|
||||
tell me to write "*** " & theKind & " *** " & message of theInfo & gEol to inLogFileRef
|
||||
try
|
||||
set theFile to ((file of theInfo) as string)
|
||||
on error
|
||||
set theFile to ""
|
||||
end try
|
||||
if theFile is not "" then
|
||||
write theFile & " line " & lineNumber of theInfo & gEol to inLogFileRef
|
||||
tell me to write theFile & " line " & lineNumber of theInfo & gEol to inLogFileRef
|
||||
end if
|
||||
write gEol to inLogFileRef
|
||||
tell me to write gEol to inLogFileRef
|
||||
end tell
|
||||
|
||||
if MessageKindIsError(theKind) then
|
92
docs/mac/M5mcp2xml.applescript
Normal file
92
docs/mac/M5mcp2xml.applescript
Normal file
@@ -0,0 +1,92 @@
|
||||
-----------------------------------------------------------------------------
|
||||
-- Name: docs/mac/M5mcp2xml.applescript
|
||||
-- Purpose: Automatic export of CodeWarrior 5 projects to XML files
|
||||
-- Author: Gilles Depeyrot
|
||||
-- Modified by:
|
||||
-- Created: 28.11.2001
|
||||
-- RCS-ID: $Id$
|
||||
-- Copyright: (c) 2001 Gilles Depeyrot
|
||||
-- Licence: wxWindows licence
|
||||
-----------------------------------------------------------------------------
|
||||
--
|
||||
-- This AppleScript automatically recurses through the selected folder looking for
|
||||
-- and exporting CodeWarrior projects to xml files.
|
||||
-- To use this script, simply open it with the 'Script Editor' and run it.
|
||||
--
|
||||
|
||||
--
|
||||
-- Suffix used to recognize CodeWarrior project files
|
||||
--
|
||||
property gProjectSuffix : "M5.mcp"
|
||||
|
||||
--
|
||||
-- Project and build success count
|
||||
--
|
||||
set theProjectCount to 0
|
||||
set theProjectSuccessCount to 0
|
||||
|
||||
--
|
||||
-- Ask the user to select the wxWindows samples folder
|
||||
--
|
||||
set theFolder to choose folder with prompt "Select the wxWindows folder"
|
||||
|
||||
ExportProjects(theFolder)
|
||||
|
||||
tell me to display dialog "Exported " & theProjectSuccessCount & " projects out of " & theProjectCount
|
||||
|
||||
--
|
||||
-- ExportProjects
|
||||
--
|
||||
on ExportProjects(inFolder)
|
||||
global theProjectCount, theProjectSuccessCount
|
||||
|
||||
tell application "Finder" to update inFolder
|
||||
|
||||
try
|
||||
tell application "Finder" to set theProject to ((the first file of inFolder whose name ends with gProjectSuffix) as string)
|
||||
on error
|
||||
set theProject to ""
|
||||
end try
|
||||
|
||||
if theProject is not "" then
|
||||
set theProjectCount to theProjectCount + 1
|
||||
|
||||
-- save the current text delimiters
|
||||
set theDelimiters to my text item delimiters
|
||||
|
||||
-- replace the ".mcp" extension with ".xml"
|
||||
set my text item delimiters to "."
|
||||
set theList to (every text item of theProject)
|
||||
set theList to (items 1 thru -2 of theList)
|
||||
set theExport to (theList as string) & ".xml"
|
||||
|
||||
-- restore the text delimiters
|
||||
set my text item delimiters to theDelimiters
|
||||
|
||||
tell application "CodeWarrior IDE 4.0.4"
|
||||
--
|
||||
-- Open the project in CodeWarrior
|
||||
--
|
||||
open theProject
|
||||
--
|
||||
-- Export the selected project
|
||||
--
|
||||
try
|
||||
export project document 1 in theExport
|
||||
set theProjectSuccessCount to theProjectSuccessCount + 1
|
||||
on error number errnum
|
||||
tell me to display dialog "Error " & errnum & " exporting " & theExport
|
||||
end try
|
||||
--
|
||||
-- Close the project
|
||||
--
|
||||
Close Project
|
||||
end tell
|
||||
end if
|
||||
|
||||
tell application "Finder" to set theSubFolders to every folder of inFolder whose name does not end with " Data"
|
||||
repeat with theFolder in theSubFolders
|
||||
ExportProjects(theFolder)
|
||||
end repeat
|
||||
|
||||
end ExportProjects
|
88
docs/mac/M5xml2mcp.applescript
Normal file
88
docs/mac/M5xml2mcp.applescript
Normal file
@@ -0,0 +1,88 @@
|
||||
-----------------------------------------------------------------------------
|
||||
-- Name: docs/mac/M5xml2mcp.applescript
|
||||
-- Purpose: Automatic import of CodeWarrior 5 xml files to projects
|
||||
-- Author: Gilles Depeyrot
|
||||
-- Modified by:
|
||||
-- Created: 30.11.2001
|
||||
-- RCS-ID: $Id$
|
||||
-- Copyright: (c) 2001 Gilles Depeyrot
|
||||
-- Licence: wxWindows licence
|
||||
-----------------------------------------------------------------------------
|
||||
--
|
||||
-- This AppleScript automatically recurses through the selected folder looking for
|
||||
-- and importing CodeWarrior xml files to projects
|
||||
-- To use this script, simply open it with the 'Script Editor' and run it.
|
||||
--
|
||||
|
||||
--
|
||||
-- Suffix used to recognize CodeWarrior xml files
|
||||
--
|
||||
property gXmlSuffix : "M5.xml"
|
||||
|
||||
--
|
||||
-- Project and build success count
|
||||
--
|
||||
set theXmlCount to 0
|
||||
set theXmlSuccessCount to 0
|
||||
|
||||
--
|
||||
-- Ask the user to select the wxWindows samples folder
|
||||
--
|
||||
set theFolder to choose folder with prompt "Select the wxWindows folder"
|
||||
|
||||
ImportProjects(theFolder)
|
||||
|
||||
tell me to display dialog "Imported " & theXmlSuccessCount & " xml files out of " & theXmlCount buttons {"OK"}
|
||||
|
||||
--
|
||||
-- ImportProjects
|
||||
--
|
||||
on ImportProjects(inFolder)
|
||||
global theXmlCount, theXmlSuccessCount
|
||||
|
||||
tell application "Finder" to update inFolder
|
||||
|
||||
try
|
||||
tell application "Finder" to set theXml to ((the first file of inFolder whose name ends with gXmlSuffix) as string)
|
||||
on error
|
||||
set theXml to ""
|
||||
end try
|
||||
|
||||
if theXml is not "" then
|
||||
set theXmlCount to theXmlCount + 1
|
||||
|
||||
-- save the current text delimiters
|
||||
set theDelimiters to my text item delimiters
|
||||
|
||||
-- replace the ".xml" extension with ".mcp"
|
||||
set my text item delimiters to "."
|
||||
set theList to (every text item of theXml)
|
||||
set theList to (items 1 thru -2 of theList)
|
||||
set theImport to (theList as string) & ".mcp"
|
||||
|
||||
-- restore the text delimiters
|
||||
set my text item delimiters to theDelimiters
|
||||
|
||||
tell application "CodeWarrior IDE 4.0.4"
|
||||
--
|
||||
-- Import the selected xml file
|
||||
--
|
||||
try
|
||||
make new project document as theImport with data theXml
|
||||
set theXmlSuccessCount to theXmlSuccessCount + 1
|
||||
--
|
||||
-- Close the project
|
||||
--
|
||||
Close Project
|
||||
on error number errnum
|
||||
tell me to display dialog "Error " & errnum & " importing " & theXml & " to " & theImport
|
||||
end try
|
||||
end tell
|
||||
end if
|
||||
|
||||
tell application "Finder" to set theSubFolders to every folder of inFolder whose name does not end with " Data"
|
||||
repeat with theFolder in theSubFolders
|
||||
ImportProjects(theFolder)
|
||||
end repeat
|
||||
|
||||
end ImportProjects
|
@@ -1 +1,4 @@
|
||||
These are the changes for wxMac 2.3.2
|
||||
|
||||
- support for configuration and build under Mac OS X using the Apple Developer
|
||||
Tools
|
||||
|
@@ -3,8 +3,9 @@ Installing latest headers (and Carbon Support)
|
||||
|
||||
NOTE : these steps are not necessary for Pro 6, only for Pro 5.3
|
||||
|
||||
the latest build for carbon support lead to a few changes you will have to follow, in order
|
||||
to successfully compile the code (also necessary if you don't want to build the carbon targets)
|
||||
the latest build for carbon support lead to a few changes you will have to
|
||||
follow, in order to successfully compile the code (also necessary if you don't
|
||||
want to build the carbon targets)
|
||||
|
||||
1. you need CodeWarrior Pro 5.3 , i.e. 5.0 with all the upgrades
|
||||
2. you have to download the 3.3.2 universal interfaces from
|
||||
@@ -17,8 +18,9 @@ to successfully compile the code (also necessary if you don't want to build the
|
||||
#include <Controls.h>
|
||||
6. rebuild all MacHeaders from the MacHeaders.mcp project in the same folder
|
||||
|
||||
if you want to build the carbon targets, you will also need the latest carbonized version of
|
||||
MSL from Metrowerks, at the time of writing, this meant applying the changes from the folders
|
||||
if you want to build the carbon targets, you will also need the latest
|
||||
carbonized version of MSL from Metrowerks, at the time of writing, this meant
|
||||
applying the changes from the folders
|
||||
CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbonized MSL and
|
||||
CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbonized Runtimes
|
||||
(consult the file CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbon & MacOSX README)
|
||||
@@ -26,44 +28,58 @@ CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbonized Runtimes
|
||||
setup.h
|
||||
-------
|
||||
|
||||
in order to build wxMac with CodeWarrior, you must copy or alias the file include/wx/mac/setup0.h
|
||||
to include/wx/setup.h.
|
||||
in order to build wxMac with CodeWarrior, you must copy or alias the file
|
||||
include/wx/mac/setup0.h to include/wx/setup.h.
|
||||
|
||||
this step is not needed when using the Apple Developer Tools under Mac OS X since the setup.h
|
||||
file is automatically generated during the configuration of wxMac.
|
||||
this step is not needed when using the Apple Developer Tools under Mac OS X
|
||||
since the setup.h file is automatically generated during the configuration.
|
||||
|
||||
OpenGL
|
||||
------
|
||||
|
||||
In order to build opengl support with CodeWarrior, you must install the opengl libraries and headers
|
||||
from http://developer.apple.com/opengl/index.html
|
||||
In order to build opengl support with CodeWarrior, you must install the opengl
|
||||
libraries and headers from http://developer.apple.com/opengl/index.html
|
||||
|
||||
If you want OpenGL support with CodeWarrior, set wxUSE_OPENGL in include/wx/setup.h to 1
|
||||
If you want OpenGL support with CodeWarrior, set wxUSE_OPENGL to 1 in
|
||||
include/wx/setup.h
|
||||
|
||||
If you don't want OpenGl support, remove the file "glcanvas.cpp" from the project before
|
||||
compilation and leave the setting at 0
|
||||
If you don't want OpenGl support, remove the file "glcanvas.cpp" from the
|
||||
project before compilation and leave the setting at 0
|
||||
|
||||
If you want OpenGL support with the Apple Developer Tools under Mac OS X, add --with-opengl to the
|
||||
arguments of configure when configuring wxMac.
|
||||
If you want OpenGL support with the Apple Developer Tools under Mac OS X, add
|
||||
--with-opengl to the arguments of configure when configuring wxMac.
|
||||
|
||||
Project Files
|
||||
-------------
|
||||
|
||||
There are always the makemac.mcp or *M5.mcp files for Pro 5.3 and the makemac6.mcp files for Pro 6
|
||||
The project files are stored as xml text files and converted to binary
|
||||
CodeWarrior projects in the distribution (see AppleScript Files below):
|
||||
- *M5.xml -> *M5.mcp for CodeWarrior 5.3
|
||||
- *M6.xml -> *M6.mcp for CodeWarrior 6
|
||||
- *M7.xml -> *M7.mcp for CodeWarrior 7
|
||||
|
||||
In order to build the library (and then the samples) you need to make the
|
||||
following projects (for 5.3)
|
||||
:src:wxWindowsM5.mcp
|
||||
:src:png:makemac.mcp
|
||||
:src:tif:makemac.mcp
|
||||
:src:jpeg:makemac.mcp
|
||||
:src:zlib:makemac.mcp
|
||||
:src:wxxindowsM5.mcp
|
||||
:src:png:pngM5.mcp
|
||||
:src:tiff:tiffM5.mcp
|
||||
:src:jpeg:jpegM5.mcp
|
||||
:src:zlib:zlibM5.mcp
|
||||
|
||||
AppleScript Files
|
||||
-----------------
|
||||
|
||||
Several AppleScript files are provided in the docs:mac directory (currently
|
||||
only for CodeWarrior 5.3 related projects):
|
||||
- M5xml2mcp.applescript to convert xml files to CodeWarrior projects
|
||||
- M5mcp2xml.applescript to convert CodeWarrior projects to xml files
|
||||
- M5build.applescript to automatically build all samples/demos projects
|
||||
|
||||
Apple Developers Tools
|
||||
----------------------
|
||||
|
||||
As in all Unix projects, you need to do something like this
|
||||
under MacOS 10.1 with the Apple Developers Tools installed.
|
||||
As in all Unix projects, you need to do something like this under MacOS 10.1
|
||||
with the Apple Developers Tools installed:
|
||||
|
||||
1) cd into the source dir
|
||||
2) mkdir build
|
||||
@@ -71,23 +87,23 @@ under MacOS 10.1 with the Apple Developers Tools installed.
|
||||
4) ../configure
|
||||
5) make
|
||||
|
||||
If you want to install the library, you need to be able
|
||||
to log in as "root". For this, "root" has to be activated
|
||||
in the NetInfo utility - there you will also have to
|
||||
choose a password for the "root" user. Then
|
||||
If you want to install the library, you need to be able to log in as "root".
|
||||
For this, "root" has to be activated in the NetInfo utility - there you will
|
||||
also have to choose a password for the "root" user. Then
|
||||
|
||||
6) su
|
||||
7) type <PASSWORD>
|
||||
8) make install
|
||||
9) exit
|
||||
|
||||
Note: There are currently link problems (in some rare cases)
|
||||
with wxMAC and Apple's tools when compiling the library as
|
||||
a shared library (the default). You might want to type
|
||||
Note:
|
||||
You might want to configure a static library instead:
|
||||
|
||||
4) ../configure --disable-shared
|
||||
|
||||
to build a static library instead.
|
||||
or activate OpenGL:
|
||||
|
||||
4) ../configure --with-opengl
|
||||
|
||||
|
||||
Problems with .xpm files
|
||||
@@ -98,11 +114,12 @@ if you have downloaded all the files and get errors like :
|
||||
Error : the file 'wx/generic/tip.xpm' cannot be opened
|
||||
tipdlg.cpp line 201 #include "wx/generic/tip.xpm"
|
||||
|
||||
then your cvs has changed the type of the .xpm files to something other than text, in order to fix this
|
||||
either change the type by using a resource editor or drag the files from /include/wx/generic/..xpm on
|
||||
the SetTypeFromExtension application that is included in this folder. This small applet itself queries
|
||||
the Internet Config, so you will have to associate the "xpm" extension with CodeWarrior before making
|
||||
use of this applet.
|
||||
then your cvs has changed the type of the .xpm files to something other than
|
||||
text, in order to fix this either change the type by using a resource editor
|
||||
or drag the files from /include/wx/generic/..xpm on the SetTypeFromExtension
|
||||
application that is included in this folder. This small applet itself queries
|
||||
the Internet Config, so you will have to associate the "xpm" extension with
|
||||
CodeWarrior before making use of this applet.
|
||||
|
||||
Missing PLStringFuncsLib
|
||||
------------------------
|
||||
|
@@ -1,12 +1,8 @@
|
||||
Welcome to wxWindows/Mac 2
|
||||
|
||||
More Information is available from our own page at
|
||||
More Information is available from the wxWindows project home page at
|
||||
|
||||
http://www.advanced.ch/wxwin (mac port)
|
||||
|
||||
or on the wxWindows project in general
|
||||
|
||||
from http://www.wxwindows.org
|
||||
http://www.wxwindows.org
|
||||
|
||||
For more information, please see changes.txt, todo.txt, and the
|
||||
manuals.
|
||||
|
@@ -1,6 +1,10 @@
|
||||
Bugs/Defects (GD)
|
||||
-----------------
|
||||
* Implement toggle buttons missing under Mac OS & Mac OS X
|
||||
* Implement toggle buttons
|
||||
|
||||
* Implement popup windows
|
||||
|
||||
* Implement joystick support
|
||||
|
||||
* Implement drag and drop
|
||||
|
||||
* Correct smart processing errors that provoke the following error:
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
wxMicroWindows port
|
||||
===================
|
||||
|
||||
Julian Smart 2001-07-02
|
||||
Julian Smart 2001-12-08
|
||||
|
||||
This is a port of wxWindows to MicroWindows, under Linux.
|
||||
Widgets are supplied by the wxUniversal project, while the
|
||||
@@ -26,7 +26,7 @@ Installation
|
||||
|
||||
MicroWindows:
|
||||
|
||||
- unarchive MicroWindows 0.89pre7
|
||||
- unarchive MicroWindows 0.89pre8
|
||||
|
||||
- change 'config' to use X11 and any other options you feel fit.
|
||||
Suggestions for changes to the defaults:
|
||||
@@ -39,13 +39,14 @@ MicroWindows:
|
||||
|
||||
- apply microwindows.patches (from wxWindows:
|
||||
docs/microwin/microwindows.patches) to fix PeekMessage
|
||||
and other issues
|
||||
and other issues. If the patch doesn't apply automatically,
|
||||
you may need to apply it by hand
|
||||
|
||||
- compile by typing 'make' from within the MicroWindows src directory
|
||||
|
||||
wxMicroWindows:
|
||||
|
||||
- Download wxMSW 2.3.3 or greater, or get it from CVS
|
||||
- Download wxMSW 2.3.2 or greater, or get it from CVS
|
||||
|
||||
- Copy include/wx/msw/setup_microwin.h to include/wx/setup.h if
|
||||
include/wx/setup.h doesn't exist
|
||||
@@ -53,11 +54,11 @@ wxMicroWindows:
|
||||
- change the TOP variable at the top of src/msw/makefile.mic
|
||||
to reflect where MicroWindows is installed
|
||||
|
||||
- type 'make all' from src/msw. To clean, use cleanwx and NOT clean
|
||||
since that will clean MicroWindows itself
|
||||
- type 'make -f makefile.mic all' from src/msw. To clean, use
|
||||
cleanwx and NOT clean since that will clean MicroWindows itself
|
||||
|
||||
- to make the sample, cd into samples/minimal, edit the TOP variable,
|
||||
and type 'make all'
|
||||
and type 'make -f makefile.mic all'
|
||||
|
||||
Running 'minimal' runs the virtual MicroWindows desktop
|
||||
and the minimal sample, since in a MicroWindows WIN32 application
|
||||
|
@@ -2,8 +2,13 @@
|
||||
Installing wxWindows 2.3
|
||||
------------------------
|
||||
|
||||
This is wxWindows 2.3 for Microsoft Windows 3.1, 95, 98 and
|
||||
Windows NT/Windows 2000. This is an unstable development release.
|
||||
This is wxWindows 2.3 for Microsoft Windows 9x/ME, Windows NT,
|
||||
Windows 2000 and Windows XP. This is an unstable development release.
|
||||
|
||||
Please note that the library naming conventions for VC++
|
||||
compilation have changed between 2.3.1 and 2.3.2. This means that
|
||||
you will need to change your application project files. See the
|
||||
relevant section below for details.
|
||||
|
||||
IMPORTANT NOTE: If you experience problems installing, please
|
||||
re-read this instructions and other related files (changes.txt,
|
||||
@@ -53,8 +58,8 @@ For Cygwin or Mingw32 compilation, make sure WXWIN contains only
|
||||
forward slashes.
|
||||
|
||||
If installing from the CVS server, copy include/wx/msw/setup0.h to
|
||||
include/wx/msw/setup.h and edit the resulting file to choose the featrues you
|
||||
would like to compile wxWindows with[out].
|
||||
include/wx/msw/setup.h and edit the resulting file to choose
|
||||
the features you would like to compile wxWindows with[out].
|
||||
|
||||
Compilation
|
||||
-----------
|
||||
@@ -62,27 +67,35 @@ Compilation
|
||||
The following sections explain how to compile wxWindows with each supported
|
||||
compiler.
|
||||
|
||||
Visual C++ 4.0/5.0/6.0 compilation
|
||||
----------------------------------
|
||||
Visual C++ 6.0 compilation
|
||||
---------------------------
|
||||
|
||||
Using project files (VC++ 5 and 6 only):
|
||||
Using project files (VC++ 6 only):
|
||||
|
||||
1. Unarchive wxWindows-x.y.z-vc.zip, the VC++ 5/6 project
|
||||
1. Unarchive wxWindows-x.y.z-vc.zip, the VC++ 6 project
|
||||
makefiles (already included in wxMSW-x.y.z.zip and the setup version).
|
||||
2. Open src/wxvc.dsp, set Debug or Release configuration for
|
||||
the wxvc project, and compile. Alternatively, use Batch Build
|
||||
to build both Debug and Release configurations.
|
||||
This will produce lib/wx.lib (release) and lib/wxd.lib (debug),
|
||||
plus various subordinate libraries. It assumes you have
|
||||
the TIFF and JPEG source, which is already in the setup
|
||||
version of the distribution.
|
||||
The project file src/wxvc_dll.dsp will make a DLL version of wxWindow,
|
||||
which will go in lib/wxdll.[lib,dll] and lib/wxdlld.[lib,dll].
|
||||
2. Open src/wxWindows.dsp, which has configurations for static
|
||||
compilation or DLL compilation, and each of these available in
|
||||
Unicode/ANSI and Debug/Release variations. Normally you'll use
|
||||
a static linking ANSI configuration. Choose the Win32 Debug or
|
||||
Win32 Release configuration for the wxWindows project, and compile.
|
||||
Alternatively, use Batch Build to build more than one
|
||||
configuration.
|
||||
The following libraries will be produced depending on chosen
|
||||
configuration:
|
||||
|
||||
wxmsw.lib wxmswd.lib ; ANSI Release/Debug
|
||||
wxmswu.lib wxmswud.lib ; UNICODE Release/Debug
|
||||
wxmsw23x.lib wxmsw23xd.lib ; ANSI DLL Release/Debug
|
||||
wxmsw23xu.lib wxmsw23xud.lib ; UNICODE DLL Release/Debug
|
||||
|
||||
It will also produce similar variations on jpeg.lib, png.lib,
|
||||
tiff.lib, zlib.lib, and regex.lib.
|
||||
3. Open a sample project file, choose a configuration such as
|
||||
Debug using Build | Set Active Configuration..., and compile.
|
||||
Win32 Debug using Build | Set Active Configuration..., and compile.
|
||||
The project files don't use precompiled headers, to save disk
|
||||
space, but you can switch PCH compiling on for greater speed.
|
||||
NOTE: you may also use samples/SamplesVC.dsw to access all
|
||||
NOTE: you may also use samples/samples.dsw to access all
|
||||
sample projects without opening each workspace individually.
|
||||
You can use the Batch Build facility to make several samples
|
||||
at a time.
|
||||
@@ -104,8 +117,7 @@ Using makefiles:
|
||||
'nmake -f makefile.vc cleanall FINAL=1'
|
||||
'nmake -f makefile.vc FINAL=1'
|
||||
|
||||
to make the wxWindows core library without debug information
|
||||
(wx\lib\wx.lib).
|
||||
to make the wxWindows core library without debug information.
|
||||
4. Change directory to wx\samples and type 'nmake -f makefile.vc'
|
||||
to make all the samples. You can also make them individually.
|
||||
|
||||
@@ -133,11 +145,7 @@ To build the DLL version using makefiles:
|
||||
1. Change directory to wx\src\msw. Type 'nmake -f makefile.vc dll pch'
|
||||
to make both a suitable DLL and import library, and to build a
|
||||
suitable precompiled header file for compiling applications.
|
||||
The resulting libraries are called:
|
||||
|
||||
wx\lib\wx[version].lib(dll) (debug version)
|
||||
wx\lib\wx[version].lib(dll) (release version, using FINAL=1)
|
||||
|
||||
See the previous section for library names.
|
||||
2. Invoke a sample makefile with 'nmake -f makefile.vc WXUSINGDLL=1'
|
||||
(or edit src\makeprog.vc to set WXUSINGDLL to 1 for all
|
||||
applications).
|
||||
@@ -165,18 +173,6 @@ optimized. For example, in wxWindows project, set to 'Minimum
|
||||
Size'. In Dialog Editor project, set to 'Customize: Favor Small
|
||||
Code' (and no others). This will then work.
|
||||
|
||||
Similarly, in VC++ 4, optimization can cause internal compiler
|
||||
errors, so edit src\makevc.env and change /O1 to /Od before
|
||||
trying build a release version of the library. Or, type:
|
||||
|
||||
nmake -f makefile.vc noopt FINAL=1
|
||||
|
||||
and then resume compilation in the normal way. This will build
|
||||
troublesome files with no optimization. However, there now seems to be
|
||||
an internal linker error using VC++ 4, in addition to internal
|
||||
compiler errors for most of the samples, so this version of the compiler
|
||||
cannot be recommended!
|
||||
|
||||
Note (4): some crash problems can be due to inconsistent compiler
|
||||
options. If strange/weird/impossible things start to happen please
|
||||
check (dumping IDE project file as makefile and doing text comparison
|
||||
@@ -184,12 +180,7 @@ if necessary) that the project settings, especially the list of defined
|
||||
symbols, struct packing, etc. are exactly the same for all items in
|
||||
the project. After this, delete everything (including PCH) and recompile.
|
||||
|
||||
Note (5): for some further notes about upgrading your project
|
||||
files to be compatible with wxWindows 2.1.14, please see
|
||||
"Highlights of wxWindows" from the Download page of the
|
||||
web site or CD-ROM.
|
||||
|
||||
Note (6): to create your own IDE files, see the technical note on the
|
||||
Note (5): to create your own IDE files, see the technical note on the
|
||||
wxWindows web site or CD-ROM, entitled "Compiling wxWindows
|
||||
applications in the VC++ IDE" (technical note docs/tech/tn0010.htm in the
|
||||
wxWindows distribution). You can also copy .dsp and .dsw
|
||||
@@ -198,6 +189,9 @@ files from an existing wxWindows sample and adapt them.
|
||||
Visual C++ 1.5 compilation (16-bit)
|
||||
-----------------------------------
|
||||
|
||||
NOTE: this has not been tested recently and probably doesn't
|
||||
work.
|
||||
|
||||
1. Make sure your WXWIN variable is set, and uses the FAT (short
|
||||
name) form.
|
||||
2. Change directory to wx\src\msw. Type 'nmake -f makefile.dos' to
|
||||
@@ -216,6 +210,8 @@ Borland C++ 4.5/5.0 compilation
|
||||
|
||||
Compiling using the makefiles:
|
||||
|
||||
0. If downloading from CVS, copy include\wx\msw\setup0.h to
|
||||
include\wx\setup.h.
|
||||
1. Make sure your WXWIN variable is set, and uses the FAT (short
|
||||
name) form if doing a 16-bit compile.
|
||||
2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
|
||||
@@ -398,9 +394,9 @@ Watcom C++ 10.6/11 compilation
|
||||
|
||||
1. Make sure your WXWIN variable is set, and uses the DOS short
|
||||
name form.
|
||||
2. Change directory to wx\src\msw. Type 'wmake -f makefile.wat' to
|
||||
2. Change directory to wx\src\msw. Type 'wmake -f makefile.wat all' to
|
||||
make the wxWindows core library.
|
||||
3. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat'
|
||||
3. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat all'
|
||||
to make this sample. Repeat for other samples of interest.
|
||||
|
||||
Note (1): makewat.env uses the odbc32.lib supplied in wxWindows' lib\watcom
|
||||
|
62
docs/msw/winxp.txt
Normal file
62
docs/msw/winxp.txt
Normal file
@@ -0,0 +1,62 @@
|
||||
Microsoft Windows XP Support in wxWindows 2.3.2
|
||||
-----------------------------------------------
|
||||
|
||||
Windows XP introduces the themes (called "visual styles" in the Microsoft
|
||||
documentation) in Windows world. As wxWindows uses the standard Windows
|
||||
controls for most of its classes, it can take advantage of it without
|
||||
(almost) any effort from your part. The only thing you need to do if you
|
||||
want your program to honour the visual style setting of Windows XP is to
|
||||
add the manifest file to your program (this is not at all specific to
|
||||
wxWindows programs but is required for all Windows applications).
|
||||
|
||||
|
||||
For your convinience, below is an example manifest. It should be put in a
|
||||
file called "yourapp.exe.manifest" and put in the same directory where
|
||||
"yourapp.exe" resides. Alternatively, you can include the manifest in your
|
||||
applications resource section. Please see the MSDN documentation at
|
||||
|
||||
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/xptheming.asp
|
||||
|
||||
for more details.
|
||||
|
||||
|
||||
Here is the example manifest which you can put into controls.exe.manifest
|
||||
file to test theme support using the controls sample:
|
||||
|
||||
--- cut here ---
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity
|
||||
version="0.64.1.0"
|
||||
processorArchitecture="x86"
|
||||
name="Controls"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Controls: wxWindows sample application</description>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
</assembly>
|
||||
--- cut here ---
|
||||
|
||||
|
||||
There are a few minor problems with theme support in wxWindows currently
|
||||
which will be fixed in the next releases:
|
||||
|
||||
- the buttons with non-default colours are owner-drawn and thus don't
|
||||
follow the visual style look but always have the default 3D look of
|
||||
the previous Windows versions - don't change the buttons colours if
|
||||
you want them to look nicely under Windows XP
|
||||
|
||||
- wxCheckListBox control doesn't have the same appearance as the native
|
||||
checkboxes in Windows XP
|
||||
|
@@ -17,7 +17,7 @@ TCP/IP applications, thread handling, and more. Where certain
|
||||
features are not available on a platform, such as MDI and tree
|
||||
controls on Unix, they are emulated.
|
||||
|
||||
A detailed 1400-page reference manual is supplied in HTML, PDF
|
||||
A detailed 1700-page reference manual is supplied in HTML, PDF
|
||||
and Windows Help form: see the docs hierarchy.
|
||||
|
||||
For a quick start, point your Web browser at docs/html/index.htm
|
||||
@@ -33,7 +33,7 @@ Platforms supported
|
||||
|
||||
wxWindows 2 currently supports the following platforms:
|
||||
|
||||
- Windows 3.1, Windows 95/98, Windows NT, Windows 2000
|
||||
- Windows 95/98/ME, Windows NT, Windows 2000, Windows XP (see msw/winxp.txt)
|
||||
- Most Unix variants with Motif/Lesstif
|
||||
- Most Unix variants with GTK+
|
||||
- MacOS
|
||||
|
98
docs/univ.txt
Normal file
98
docs/univ.txt
Normal file
@@ -0,0 +1,98 @@
|
||||
wxUniversal README
|
||||
==================
|
||||
|
||||
Welcome to wxUniversal!
|
||||
|
||||
Acknowledgements: wxUniversal wouldn't have been written without the
|
||||
generuous support of SciTech Software. Many thanks to Kendall Benett and
|
||||
Tom Ryan!
|
||||
|
||||
0. Introduction
|
||||
---------------
|
||||
|
||||
wxUniversal is a port of wxWindows which implements the various GUI controls
|
||||
by drawing them itself (using low level wxWindows classes). Please see
|
||||
|
||||
http://www.wxwindows.org/wxuniv.htm
|
||||
|
||||
for more details about it.
|
||||
|
||||
The advantage of wxUniversal is that you have precise control over the
|
||||
controls appearance (it is not always possible to change all aspects of the
|
||||
native controls) and the theme support: the same program may be changed to
|
||||
look completely differently without changing a single line of its code but
|
||||
just changing the theme.
|
||||
|
||||
Another advantage is that it makes writing ports of wxWindows for other
|
||||
platforms (such as OS/2, BeOS or QNX) much simpler, so it is of special
|
||||
interest to the people interested in porting wxWindows to another platform.
|
||||
|
||||
However, wxUniversal doesn't have the 100% native look and feel unlike the
|
||||
other wxWindows ports - this is the price to pay for the extra flexibility.
|
||||
|
||||
1. Requirments and supported platforms
|
||||
--------------------------------------
|
||||
|
||||
wxUniversal is used together with another wxWindows port which provides the
|
||||
"low level classes" mentioned above. Currently it can be built either with
|
||||
wxMSW or wxGTK. In any case, you should download the sources for the
|
||||
appropriate toolkit in addition to wxUniversal - in fact, you should download
|
||||
them first and then unpack wxUniversal in the same directory.
|
||||
|
||||
The requirments for wxUniversal are the same as for the underlying low level
|
||||
toolkit.
|
||||
|
||||
2. Installing under Win32
|
||||
-------------------------
|
||||
|
||||
a) Using Visual C++ 6.0
|
||||
|
||||
Simply open the src/wxUniv.dsw file in MSDEV and build it.
|
||||
|
||||
b) Cygwin
|
||||
|
||||
Please refer to the Unix section below
|
||||
|
||||
c) Other compilers
|
||||
|
||||
Unfortunately we don't have the makefiles for any other compilers yet.
|
||||
Please contact us if you would like to help us with creating one for the
|
||||
compiler you use.
|
||||
|
||||
3. Installing under Unix
|
||||
------------------------
|
||||
|
||||
Please refer to the installation instructions for wxGTK. The only change for
|
||||
wxUniversal is that you must add "--enable-univ" switch to the configure
|
||||
command line.
|
||||
|
||||
4. Documentation and support
|
||||
----------------------------
|
||||
|
||||
Please note that wxUniversal is not as mature as the other wxWindows ports
|
||||
and is currently officially in alpha stage. In particular, it is not really
|
||||
intended for the end users but rather for developers at the current stage and
|
||||
this is why we don't provide any binaries for it.
|
||||
|
||||
There is no separate documentation for wxUniversal, please refer to wxWindows
|
||||
documentation instead.
|
||||
|
||||
Support for wxUniversal is available from the same places as for wxWindows
|
||||
itself, namely:
|
||||
|
||||
* Usenet newsgroup comp.soft-sys.wxwindows
|
||||
|
||||
* Mailing lists: see http://lists.wxwindows.org/ for more information
|
||||
|
||||
* WWW page: http://www.wxwindows.org/
|
||||
|
||||
|
||||
Hope you will find wxUniversal useful!
|
||||
|
||||
Vadim Zeitlin
|
||||
|
||||
|
||||
This file is accurate for the version 2.3.2 of wxUniversal. It was last
|
||||
modified on Dec 11, 2001.
|
||||
|
||||
|
@@ -493,6 +493,14 @@
|
||||
# endif
|
||||
#endif /* !defined(wxUSE_TEXTFILE) */
|
||||
|
||||
#ifndef wxUSE_TIPWINDOW
|
||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||
# error "wxUSE_TIPWINDOW must be defined."
|
||||
# else
|
||||
# define wxUSE_TIPWINDOW 0
|
||||
# endif
|
||||
#endif /* !defined(wxUSE_TIPWINDOW) */
|
||||
|
||||
#ifndef wxUSE_TOOLBAR
|
||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||
# error "wxUSE_TOOLBAR must be defined."
|
||||
|
@@ -254,7 +254,7 @@ class WXDLLEXPORT wxDataObjectComposite : public wxDataObject
|
||||
{
|
||||
public:
|
||||
// ctor
|
||||
wxDataObjectComposite() { m_preferred = 0; }
|
||||
wxDataObjectComposite();
|
||||
|
||||
// add data object (it will be deleted by wxDataObjectComposite, hence it
|
||||
// must be allocated on the heap) whose format will become the preferred
|
||||
|
@@ -402,6 +402,7 @@ enum
|
||||
wxMGL_X, // MGL on X
|
||||
wxMGL_WIN32, // MGL on Win32
|
||||
wxMGL_OS2, // MGL on OS/2
|
||||
wxMGL_DOS, // MGL on MS-DOS
|
||||
wxWINDOWS_OS2, // Native OS/2 PM
|
||||
wxUNIX // wxBase under Unix
|
||||
};
|
||||
@@ -451,7 +452,7 @@ enum
|
||||
#define wxUint64 long long unsigned
|
||||
#else // FIXME: what else can we do here aside from implementing wxULongLong
|
||||
#define wxInt64 wxLongLong
|
||||
#define wxUint64 wxLongLong
|
||||
#define wxUint64 wxULongLong
|
||||
#endif
|
||||
|
||||
#define wxByte wxUint8
|
||||
@@ -550,16 +551,63 @@ typedef float wxFloat32 ;
|
||||
#endif
|
||||
// machine specific byte swapping
|
||||
|
||||
#if defined(SIZEOF_LONG) && (SIZEOF_LONG == 8)
|
||||
#define wxUINT64_SWAP_ALWAYS(val) \
|
||||
((wxUint64) ( \
|
||||
((wxLongLong(val) & wxLongLong(0L, 0x000000ffU)) << 56) | \
|
||||
((wxLongLong(val) & wxLongLong(0L, 0x0000ff00U)) << 40) | \
|
||||
((wxLongLong(val) & wxLongLong(0L, 0x00ff0000U)) << 24) | \
|
||||
((wxLongLong(val) & wxLongLong(0L, 0xff000000U)) << 8) | \
|
||||
((wxLongLong(val) & wxLongLong(0x000000ffL, 0U)) >> 8) | \
|
||||
((wxLongLong(val) & wxLongLong(0x0000ff00L, 0U)) >> 24) | \
|
||||
((wxLongLong(val) & wxLongLong(0x00ff0000L, 0U)) >> 40) | \
|
||||
((wxLongLong(val) & wxLongLong(0xff000000L, 0U)) >> 56)).GetValue())
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000000000ffUL) << 56) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000000000ff00UL) << 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000000000ff0000UL) << 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000ff000000UL) << 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000ff00000000UL) >> 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000ff0000000000UL) >> 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00ff000000000000UL) >> 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0xff00000000000000UL) >> 56)))
|
||||
|
||||
#define wxINT64_SWAP_ALWAYS(val) \
|
||||
((wxInt64) ( \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000000000ffUL) << 56) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000000000ff00UL) << 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000000000ff0000UL) << 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000ff000000UL) << 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000ff00000000UL) >> 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000ff0000000000UL) >> 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00ff000000000000UL) >> 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0xff00000000000000UL) >> 56)))
|
||||
|
||||
#elif defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8)
|
||||
#define wxUINT64_SWAP_ALWAYS(val) \
|
||||
((wxUint64) ( \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000000000ffULL) << 56) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000000000ff00ULL) << 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000000000ff0000ULL) << 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000ff000000ULL) << 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000ff00000000ULL) >> 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000ff0000000000ULL) >> 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00ff000000000000ULL) >> 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0xff00000000000000ULL) >> 56)))
|
||||
|
||||
#define wxINT64_SWAP_ALWAYS(val) \
|
||||
((wxInt64) ( \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000000000ffULL) << 56) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000000000ff00ULL) << 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000000000ff0000ULL) << 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00000000ff000000ULL) << 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x000000ff00000000ULL) >> 8) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x0000ff0000000000ULL) >> 24) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0x00ff000000000000ULL) >> 40) | \
|
||||
(((wxUint64) (val) & (wxUint64) 0xff00000000000000ULL) >> 56)))
|
||||
|
||||
#else
|
||||
#define wxUINT64_SWAP_ALWAYS(val) \
|
||||
((wxUint64) ( \
|
||||
((wxULongLong(val) & wxULongLong(0L, 0x000000ffU)) << 56) | \
|
||||
((wxULongLong(val) & wxULongLong(0L, 0x0000ff00U)) << 40) | \
|
||||
((wxULongLong(val) & wxULongLong(0L, 0x00ff0000U)) << 24) | \
|
||||
((wxULongLong(val) & wxULongLong(0L, 0xff000000U)) << 8) | \
|
||||
((wxULongLong(val) & wxULongLong(0x000000ffL, 0U)) >> 8) | \
|
||||
((wxULongLong(val) & wxULongLong(0x0000ff00L, 0U)) >> 24) | \
|
||||
((wxULongLong(val) & wxULongLong(0x00ff0000L, 0U)) >> 40) | \
|
||||
((wxULongLong(val) & wxULongLong(0xff000000L, 0U)) >> 56)))
|
||||
|
||||
#define wxINT64_SWAP_ALWAYS(val) \
|
||||
((wxInt64) ( \
|
||||
@@ -570,8 +618,8 @@ typedef float wxFloat32 ;
|
||||
((wxLongLong(val) & wxLongLong(0x000000ffL, 0U)) >> 8) | \
|
||||
((wxLongLong(val) & wxLongLong(0x0000ff00L, 0U)) >> 24) | \
|
||||
((wxLongLong(val) & wxLongLong(0x00ff0000L, 0U)) >> 40) | \
|
||||
((wxLongLong(val) & wxLongLong(0xff000000L, 0U)) >> 56)).GetValue())
|
||||
|
||||
((wxLongLong(val) & wxLongLong(0xff000000L, 0U)) >> 56)))
|
||||
#endif
|
||||
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
#define wxUINT16_SWAP_ON_BE(val) wxUINT16_SWAP_ALWAYS(val)
|
||||
@@ -784,6 +832,12 @@ enum wxBorder
|
||||
// flag on by default.
|
||||
#define wxWS_EX_BLOCK_EVENTS 0x00000002
|
||||
|
||||
// don't use this window as an implicit parent for the other windows: this must
|
||||
// be used with transient windows as otherwise there is the risk of creating a
|
||||
// dialog/frame with this window as a parent which would lead to a crash if the
|
||||
// parent is destroyed before the child
|
||||
#define wxWS_EX_TRANSIENT 0x00000004
|
||||
|
||||
/*
|
||||
* wxFrame/wxDialog style flags
|
||||
*/
|
||||
@@ -987,6 +1041,7 @@ enum wxBorder
|
||||
#define wxSP_3DBORDER 0x0200
|
||||
#define wxSP_FULLSASH 0x0400
|
||||
#define wxSP_3D (wxSP_3DBORDER | wxSP_3DSASH)
|
||||
#define wxSP_SASH_AQUA 0x0800
|
||||
|
||||
/*
|
||||
* wxNotebook flags
|
||||
|
@@ -58,7 +58,7 @@ public:
|
||||
// more file constants
|
||||
// -------------------
|
||||
// opening mode
|
||||
enum OpenMode { read, write, read_write, write_append };
|
||||
enum OpenMode { read, write, read_write, write_append, write_excl };
|
||||
// standard values for file descriptor
|
||||
enum { fd_invalid = -1, fd_stdin, fd_stdout, fd_stderr };
|
||||
|
||||
|
@@ -185,7 +185,7 @@ WXDLLEXPORT wxString wxUnix2MacFilename( const char *s);
|
||||
WXDLLEXPORT void wxStripExtension(wxChar *buffer);
|
||||
WXDLLEXPORT void wxStripExtension(wxString& buffer);
|
||||
|
||||
// Get a temporary filename, opening and closing the file.
|
||||
// Get a temporary filename
|
||||
WXDLLEXPORT wxChar* wxGetTempFileName(const wxString& prefix, wxChar *buf = (wxChar *) NULL);
|
||||
WXDLLEXPORT bool wxGetTempFileName(const wxString& prefix, wxString& buf);
|
||||
|
||||
@@ -253,16 +253,21 @@ WXDLLEXPORT bool wxMkdir(const wxString& dir, int perm = 0777);
|
||||
// Remove directory. Flags reserved for future use.
|
||||
WXDLLEXPORT bool wxRmdir(const wxString& dir, int flags = 0);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// separators in file names
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// between file name and extension
|
||||
#define wxFILE_SEP_EXT wxT('.')
|
||||
|
||||
// between drive/volume name and the path
|
||||
#define wxFILE_SEP_DSK wxT(':')
|
||||
|
||||
// between the path components
|
||||
#define wxFILE_SEP_PATH_DOS wxT('\\')
|
||||
#define wxFILE_SEP_PATH_UNIX wxT('/')
|
||||
#define wxFILE_SEP_PATH_MAC wxT(':')
|
||||
#define wxFILE_SEP_PATH_VMS wxT('/') //This is the Unix way, but somtimes
|
||||
//users will give the VMS native paths
|
||||
//and than a ']' is needed.
|
||||
// Jouk
|
||||
#define wxFILE_SEP_PATH_VMS wxT('.') // VMS also uses '[' and ']'
|
||||
|
||||
// separator in the path list (as in PATH environment variable)
|
||||
// there is no PATH variable in Classic Mac OS so just use the
|
||||
|
@@ -96,6 +96,14 @@ public:
|
||||
wxPathFormat format = wxPATH_NATIVE)
|
||||
{ Assign(path, name, format); }
|
||||
|
||||
// from a volume, directory name, file base name and extension
|
||||
wxFileName(const wxString& volume,
|
||||
const wxString& path,
|
||||
const wxString& name,
|
||||
const wxString& ext,
|
||||
wxPathFormat format = wxPATH_NATIVE)
|
||||
{ Assign(volume, path, name, ext, format); }
|
||||
|
||||
// from a directory name, file base name and extension
|
||||
wxFileName(const wxString& path,
|
||||
const wxString& name,
|
||||
@@ -105,21 +113,31 @@ public:
|
||||
|
||||
// the same for delayed initialization
|
||||
|
||||
// VZ: wouldn't it be better to call this Create() for consistency with
|
||||
// all GUI classes? Personally, I like Set() more than Assign() too
|
||||
|
||||
void Assign(const wxFileName& filepath);
|
||||
|
||||
void Assign(const wxString& fullpath,
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
void Assign(const wxString& path,
|
||||
const wxString& name,
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
void Assign(const wxString& path,
|
||||
|
||||
void Assign(const wxString& volume,
|
||||
const wxString& path,
|
||||
const wxString& name,
|
||||
const wxString& ext,
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
void AssignDir(const wxString& dir, wxPathFormat format = wxPATH_NATIVE)
|
||||
{ Assign(dir, _T(""), format); }
|
||||
|
||||
void Assign(const wxString& path,
|
||||
const wxString& name,
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
void Assign(const wxString& path,
|
||||
const wxString& name,
|
||||
const wxString& ext,
|
||||
wxPathFormat format = wxPATH_NATIVE)
|
||||
{
|
||||
// empty volume
|
||||
Assign(_T(""), path, name, ext, format);
|
||||
}
|
||||
|
||||
void AssignDir(const wxString& dir, wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
// assorted assignment operators
|
||||
|
||||
@@ -179,8 +197,8 @@ public:
|
||||
// various file/dir operations
|
||||
|
||||
// retrieve the value of the current working directory
|
||||
void AssignCwd();
|
||||
static wxString GetCwd();
|
||||
void AssignCwd(const wxString& volume = wxEmptyString);
|
||||
static wxString GetCwd(const wxString& volume = wxEmptyString);
|
||||
|
||||
// change the current working directory
|
||||
bool SetCwd();
|
||||
@@ -190,8 +208,9 @@ public:
|
||||
void AssignHomeDir();
|
||||
static wxString GetHomeDir();
|
||||
|
||||
// get a temp file name starting with thespecified prefix
|
||||
void AssignTempFileName( const wxString &prefix );
|
||||
// get a temp file name starting with the specified prefix
|
||||
void AssignTempFileName(const wxString& prefix);
|
||||
static wxString CreateTempFileName(const wxString& prefix);
|
||||
|
||||
// directory creation and removal.
|
||||
// if full is TRUE, will try to make each directory in the path.
|
||||
@@ -212,6 +231,18 @@ public:
|
||||
const wxString& cwd = wxEmptyString,
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
// get a path path relative to the given base directory, i.e. opposite
|
||||
// of Normalize
|
||||
//
|
||||
// pass an empty string to get a path relative to the working directory
|
||||
//
|
||||
// returns TRUE if the file name was modified, FALSE if we failed to do
|
||||
// anything with it (happens when the file is on a different volume,
|
||||
// for example)
|
||||
bool MakeRelativeTo(const wxString& pathBase = _T(""),
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
|
||||
// Comparison
|
||||
|
||||
// compares with the rules of this platform
|
||||
@@ -224,10 +255,22 @@ public:
|
||||
{ return *this == wxFileName(filename); }
|
||||
|
||||
// Tests
|
||||
|
||||
// are the file names of this type cases sensitive?
|
||||
static bool IsCaseSensitive( wxPathFormat format = wxPATH_NATIVE );
|
||||
bool IsRelative( wxPathFormat format = wxPATH_NATIVE );
|
||||
|
||||
// is this filename absolute?
|
||||
bool IsAbsolute( wxPathFormat format = wxPATH_NATIVE );
|
||||
|
||||
// is this filename relative?
|
||||
bool IsRelative( wxPathFormat format = wxPATH_NATIVE )
|
||||
{ return !IsAbsolute(format); }
|
||||
|
||||
// Information about path format
|
||||
|
||||
// get the string separating the volume from the path for this format
|
||||
static wxString GetVolumeSeparator(wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
// get the string of path separators for this format
|
||||
static wxString GetPathSeparators(wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
@@ -247,17 +290,21 @@ public:
|
||||
// Other accessors
|
||||
void SetExt( const wxString &ext ) { m_ext = ext; }
|
||||
wxString GetExt() const { return m_ext; }
|
||||
bool HasExt() const { return !m_ext.IsEmpty(); }
|
||||
bool HasExt() const { return !m_ext.empty(); }
|
||||
|
||||
void SetName( const wxString &name ) { m_name = name; }
|
||||
wxString GetName() const { return m_name; }
|
||||
bool HasName() const { return !m_name.IsEmpty(); }
|
||||
bool HasName() const { return !m_name.empty(); }
|
||||
|
||||
void SetVolume( const wxString &volume ) { m_volume = volume; }
|
||||
wxString GetVolume() const { return m_volume; }
|
||||
bool HasVolume() const { return !m_volume.empty(); }
|
||||
|
||||
// full name is the file name + extension (but without the path)
|
||||
void SetFullName(const wxString& fullname);
|
||||
wxString GetFullName() const;
|
||||
|
||||
const wxArrayString &GetDirs() const { return m_dirs; }
|
||||
const wxArrayString& GetDirs() const { return m_dirs; }
|
||||
|
||||
// Construct path only - possibly with the trailing separator
|
||||
wxString GetPath( bool add_separator = FALSE,
|
||||
@@ -281,8 +328,16 @@ public:
|
||||
// get the canonical path format for this platform
|
||||
static wxPathFormat GetFormat( wxPathFormat format = wxPATH_NATIVE );
|
||||
|
||||
// split a fullpath into path, (base) name and ext (all of the pointers
|
||||
// can be NULL)
|
||||
// split a fullpath into the volume, path, (base) name and extension
|
||||
// (all of the pointers can be NULL)
|
||||
static void SplitPath(const wxString& fullpath,
|
||||
wxString *volume,
|
||||
wxString *path,
|
||||
wxString *name,
|
||||
wxString *ext,
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
// compatibility version
|
||||
static void SplitPath(const wxString& fullpath,
|
||||
wxString *path,
|
||||
wxString *name,
|
||||
@@ -290,6 +345,9 @@ public:
|
||||
wxPathFormat format = wxPATH_NATIVE);
|
||||
|
||||
private:
|
||||
// the drive/volume/device specification (always empty for Unix)
|
||||
wxString m_volume;
|
||||
|
||||
// the path components of the file
|
||||
wxArrayString m_dirs;
|
||||
|
||||
|
@@ -62,7 +62,7 @@ public:
|
||||
// window (e.g. a child of it in order to scroll only a portion
|
||||
// the area between the scrollbars (spreadsheet: only cell area
|
||||
// will move).
|
||||
virtual void SetTargetWindow( wxWindow *target );
|
||||
virtual void SetTargetWindow( wxWindow *target, bool pushEventHandler = FALSE );
|
||||
virtual wxWindow *GetTargetWindow();
|
||||
|
||||
// Number of pixels per user unit (0 or -1 for no scrollbar)
|
||||
|
@@ -62,7 +62,7 @@ public:
|
||||
// window (e.g. a child of it in order to scroll only a portion
|
||||
// the area between the scrollbars (spreadsheet: only cell area
|
||||
// will move).
|
||||
virtual void SetTargetWindow( wxWindow *target );
|
||||
virtual void SetTargetWindow( wxWindow *target, bool pushEventHandler = FALSE );
|
||||
virtual wxWindow *GetTargetWindow();
|
||||
|
||||
// Number of pixels per user unit (0 or -1 for no scrollbar)
|
||||
|
@@ -94,10 +94,13 @@
|
||||
#endif
|
||||
|
||||
class WXDLLEXPORT wxLongLongWx;
|
||||
class WXDLLEXPORT wxULongLongWx;
|
||||
#if defined(__VISUALC__) && !defined(__WIN32__)
|
||||
#define wxLongLong wxLongLongWx
|
||||
#define wxULongLong wxULongLongWx
|
||||
#else
|
||||
typedef wxLongLongWx wxLongLong;
|
||||
typedef wxULongLongWx wxULongLong;
|
||||
#endif
|
||||
|
||||
#else
|
||||
@@ -110,7 +113,9 @@
|
||||
#ifndef wxUSE_LONGLONG_WX
|
||||
#define wxUSE_LONGLONG_WX 0
|
||||
class WXDLLEXPORT wxLongLongNative;
|
||||
class WXDLLEXPORT wxULongLongNative;
|
||||
typedef wxLongLongNative wxLongLong;
|
||||
typedef wxULongLongNative wxULongLong;
|
||||
#endif
|
||||
|
||||
// NB: if both wxUSE_LONGLONG_WX and NATIVE are defined, the user code should
|
||||
@@ -326,6 +331,189 @@ private:
|
||||
wxLongLong_t m_ll;
|
||||
};
|
||||
|
||||
|
||||
class WXDLLEXPORT wxULongLongNative
|
||||
{
|
||||
public:
|
||||
// ctors
|
||||
// default ctor initializes to 0
|
||||
wxULongLongNative() { m_ll = 0; }
|
||||
// from long long
|
||||
wxULongLongNative(unsigned wxLongLong_t ll) { m_ll = ll; }
|
||||
// from 2 longs
|
||||
wxULongLongNative(unsigned long hi, unsigned long lo)
|
||||
{
|
||||
// assign first to avoid precision loss!
|
||||
m_ll = ((unsigned wxLongLong_t) hi) << 32;
|
||||
m_ll |= (unsigned wxLongLong_t) lo;
|
||||
}
|
||||
|
||||
// default copy ctor is ok
|
||||
|
||||
// no dtor
|
||||
|
||||
// assignment operators
|
||||
// from native 64 bit integer
|
||||
wxULongLongNative& operator=(unsigned wxLongLong_t ll)
|
||||
{ m_ll = ll; return *this; }
|
||||
|
||||
// assignment operators from wxULongLongNative is ok
|
||||
|
||||
// accessors
|
||||
// get high part
|
||||
unsigned long GetHi() const
|
||||
{ return (unsigned long)(m_ll >> 32); }
|
||||
// get low part
|
||||
unsigned long GetLo() const
|
||||
{ return (unsigned long)m_ll; }
|
||||
|
||||
// convert to native ulong long
|
||||
unsigned wxLongLong_t GetValue() const { return m_ll; }
|
||||
|
||||
// convert to ulong with range checking in the debug mode (only!)
|
||||
unsigned long ToULong() const
|
||||
{
|
||||
wxASSERT_MSG( m_ll <= LONG_MAX,
|
||||
_T("wxULongLong to long conversion loss of precision") );
|
||||
|
||||
return (unsigned long)m_ll;
|
||||
}
|
||||
|
||||
// operations
|
||||
// addition
|
||||
wxULongLongNative operator+(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll + ll.m_ll); }
|
||||
wxULongLongNative& operator+=(const wxULongLongNative& ll)
|
||||
{ m_ll += ll.m_ll; return *this; }
|
||||
|
||||
wxULongLongNative operator+(const unsigned wxLongLong_t ll) const
|
||||
{ return wxULongLongNative(m_ll + ll); }
|
||||
wxULongLongNative& operator+=(const unsigned wxLongLong_t ll)
|
||||
{ m_ll += ll; return *this; }
|
||||
|
||||
// pre increment
|
||||
wxULongLongNative& operator++()
|
||||
{ m_ll++; return *this; }
|
||||
|
||||
// post increment
|
||||
wxULongLongNative& operator++(int)
|
||||
{ m_ll++; return *this; }
|
||||
|
||||
// subtraction
|
||||
wxULongLongNative operator-(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll - ll.m_ll); }
|
||||
wxULongLongNative& operator-=(const wxULongLongNative& ll)
|
||||
{ m_ll -= ll.m_ll; return *this; }
|
||||
|
||||
wxULongLongNative operator-(const unsigned wxLongLong_t ll) const
|
||||
{ return wxULongLongNative(m_ll - ll); }
|
||||
wxULongLongNative& operator-=(const unsigned wxLongLong_t ll)
|
||||
{ m_ll -= ll; return *this; }
|
||||
|
||||
// pre decrement
|
||||
wxULongLongNative& operator--()
|
||||
{ m_ll--; return *this; }
|
||||
|
||||
// post decrement
|
||||
wxULongLongNative& operator--(int)
|
||||
{ m_ll--; return *this; }
|
||||
|
||||
// shifts
|
||||
// left shift
|
||||
wxULongLongNative operator<<(int shift) const
|
||||
{ return wxULongLongNative(m_ll << shift);; }
|
||||
wxULongLongNative& operator<<=(int shift)
|
||||
{ m_ll <<= shift; return *this; }
|
||||
|
||||
// right shift
|
||||
wxULongLongNative operator>>(int shift) const
|
||||
{ return wxULongLongNative(m_ll >> shift);; }
|
||||
wxULongLongNative& operator>>=(int shift)
|
||||
{ m_ll >>= shift; return *this; }
|
||||
|
||||
// bitwise operators
|
||||
wxULongLongNative operator&(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll & ll.m_ll); }
|
||||
wxULongLongNative& operator&=(const wxULongLongNative& ll)
|
||||
{ m_ll &= ll.m_ll; return *this; }
|
||||
|
||||
wxULongLongNative operator|(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll | ll.m_ll); }
|
||||
wxULongLongNative& operator|=(const wxULongLongNative& ll)
|
||||
{ m_ll |= ll.m_ll; return *this; }
|
||||
|
||||
wxULongLongNative operator^(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll ^ ll.m_ll); }
|
||||
wxULongLongNative& operator^=(const wxULongLongNative& ll)
|
||||
{ m_ll ^= ll.m_ll; return *this; }
|
||||
|
||||
// multiplication/division
|
||||
wxULongLongNative operator*(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll * ll.m_ll); }
|
||||
wxULongLongNative operator*(unsigned long l) const
|
||||
{ return wxULongLongNative(m_ll * l); }
|
||||
wxULongLongNative& operator*=(const wxULongLongNative& ll)
|
||||
{ m_ll *= ll.m_ll; return *this; }
|
||||
wxULongLongNative& operator*=(unsigned long l)
|
||||
{ m_ll *= l; return *this; }
|
||||
|
||||
wxULongLongNative operator/(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll / ll.m_ll); }
|
||||
wxULongLongNative operator/(unsigned long l) const
|
||||
{ return wxULongLongNative(m_ll / l); }
|
||||
wxULongLongNative& operator/=(const wxULongLongNative& ll)
|
||||
{ m_ll /= ll.m_ll; return *this; }
|
||||
wxULongLongNative& operator/=(unsigned long l)
|
||||
{ m_ll /= l; return *this; }
|
||||
|
||||
wxULongLongNative operator%(const wxULongLongNative& ll) const
|
||||
{ return wxULongLongNative(m_ll % ll.m_ll); }
|
||||
wxULongLongNative operator%(unsigned long l) const
|
||||
{ return wxULongLongNative(m_ll % l); }
|
||||
|
||||
// comparison
|
||||
bool operator==(const wxULongLongNative& ll) const
|
||||
{ return m_ll == ll.m_ll; }
|
||||
bool operator==(unsigned long l) const
|
||||
{ return m_ll == l; }
|
||||
bool operator!=(const wxULongLongNative& ll) const
|
||||
{ return m_ll != ll.m_ll; }
|
||||
bool operator!=(unsigned long l) const
|
||||
{ return m_ll != l; }
|
||||
bool operator<(const wxULongLongNative& ll) const
|
||||
{ return m_ll < ll.m_ll; }
|
||||
bool operator<(unsigned long l) const
|
||||
{ return m_ll < l; }
|
||||
bool operator>(const wxULongLongNative& ll) const
|
||||
{ return m_ll > ll.m_ll; }
|
||||
bool operator>(unsigned long l) const
|
||||
{ return m_ll > l; }
|
||||
bool operator<=(const wxULongLongNative& ll) const
|
||||
{ return m_ll <= ll.m_ll; }
|
||||
bool operator<=(unsigned long l) const
|
||||
{ return m_ll <= l; }
|
||||
bool operator>=(const wxULongLongNative& ll) const
|
||||
{ return m_ll >= ll.m_ll; }
|
||||
bool operator>=(unsigned long l) const
|
||||
{ return m_ll >= l; }
|
||||
|
||||
// miscellaneous
|
||||
|
||||
// return the string representation of this number
|
||||
wxString ToString() const;
|
||||
|
||||
// conversion to byte array: returns a pointer to static buffer!
|
||||
void *asArray() const;
|
||||
|
||||
#if wxUSE_STD_IOSTREAM
|
||||
// input/output
|
||||
friend wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongNative&);
|
||||
#endif
|
||||
|
||||
private:
|
||||
unsigned wxLongLong_t m_ll;
|
||||
};
|
||||
|
||||
#endif // wxUSE_LONGLONG_NATIVE
|
||||
|
||||
#if wxUSE_LONGLONG_WX
|
||||
@@ -526,6 +714,180 @@ private:
|
||||
#endif // wxLONGLONG_TEST_MODE
|
||||
};
|
||||
|
||||
|
||||
class WXDLLEXPORT wxULongLongWx
|
||||
{
|
||||
public:
|
||||
// ctors
|
||||
// default ctor initializes to 0
|
||||
wxULongLongWx()
|
||||
{
|
||||
m_lo = m_hi = 0;
|
||||
|
||||
#ifdef wxLONGLONG_TEST_MODE
|
||||
m_ll = 0;
|
||||
|
||||
Check();
|
||||
#endif // wxLONGLONG_TEST_MODE
|
||||
}
|
||||
// from ulong
|
||||
wxULongLongWx(unsigned long l) { *this = l; }
|
||||
// from 2 ulongs
|
||||
wxULongLongWx(unsigned long hi, unsigned long lo)
|
||||
{
|
||||
m_hi = hi;
|
||||
m_lo = lo;
|
||||
|
||||
#ifdef wxLONGLONG_TEST_MODE
|
||||
m_ll = hi;
|
||||
m_ll <<= 32;
|
||||
m_ll |= lo;
|
||||
|
||||
Check();
|
||||
#endif // wxLONGLONG_TEST_MODE
|
||||
}
|
||||
|
||||
// default copy ctor is ok in both cases
|
||||
|
||||
// no dtor
|
||||
|
||||
// assignment operators
|
||||
// from long
|
||||
wxULongLongWx& operator=(unsigned long l)
|
||||
{
|
||||
m_lo = l;
|
||||
m_hi = 0;
|
||||
|
||||
#ifdef wxLONGLONG_TEST_MODE
|
||||
m_ll = l;
|
||||
|
||||
Check();
|
||||
#endif // wxLONGLONG_TEST_MODE
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
// can't have assignment operator from 2 longs
|
||||
|
||||
// accessors
|
||||
// get high part
|
||||
unsigned long GetHi() const { return m_hi; }
|
||||
// get low part
|
||||
unsigned long GetLo() const { return m_lo; }
|
||||
|
||||
// convert to long with range checking in the debug mode (only!)
|
||||
unsigned long ToULong() const
|
||||
{
|
||||
wxASSERT_MSG( m_hi == 0ul,
|
||||
_T("wxULongLong to long conversion loss of precision") );
|
||||
|
||||
return (unsigned long)m_lo;
|
||||
}
|
||||
|
||||
// operations
|
||||
// addition
|
||||
wxULongLongWx operator+(const wxULongLongWx& ll) const;
|
||||
wxULongLongWx& operator+=(const wxULongLongWx& ll);
|
||||
wxULongLongWx operator+(unsigned long l) const;
|
||||
wxULongLongWx& operator+=(unsigned long l);
|
||||
|
||||
// pre increment operator
|
||||
wxULongLongWx& operator++();
|
||||
|
||||
// post increment operator
|
||||
wxULongLongWx& operator++(int) { return ++(*this); }
|
||||
|
||||
// subraction (FIXME: should return wxLongLong)
|
||||
wxULongLongWx operator-(const wxULongLongWx& ll) const;
|
||||
wxULongLongWx& operator-=(const wxULongLongWx& ll);
|
||||
|
||||
// pre decrement operator
|
||||
wxULongLongWx& operator--();
|
||||
|
||||
// post decrement operator
|
||||
wxULongLongWx& operator--(int) { return --(*this); }
|
||||
|
||||
// shifts
|
||||
// left shift
|
||||
wxULongLongWx operator<<(int shift) const;
|
||||
wxULongLongWx& operator<<=(int shift);
|
||||
|
||||
// right shift
|
||||
wxULongLongWx operator>>(int shift) const;
|
||||
wxULongLongWx& operator>>=(int shift);
|
||||
|
||||
// bitwise operators
|
||||
wxULongLongWx operator&(const wxULongLongWx& ll) const;
|
||||
wxULongLongWx& operator&=(const wxULongLongWx& ll);
|
||||
wxULongLongWx operator|(const wxULongLongWx& ll) const;
|
||||
wxULongLongWx& operator|=(const wxULongLongWx& ll);
|
||||
wxULongLongWx operator^(const wxULongLongWx& ll) const;
|
||||
wxULongLongWx& operator^=(const wxULongLongWx& ll);
|
||||
wxULongLongWx operator~() const;
|
||||
|
||||
// comparison
|
||||
bool operator==(const wxULongLongWx& ll) const
|
||||
{ return m_lo == ll.m_lo && m_hi == ll.m_hi; }
|
||||
bool operator!=(const wxULongLongWx& ll) const
|
||||
{ return !(*this == ll); }
|
||||
bool operator<(const wxULongLongWx& ll) const;
|
||||
bool operator>(const wxULongLongWx& ll) const;
|
||||
bool operator<=(const wxULongLongWx& ll) const
|
||||
{ return *this < ll || *this == ll; }
|
||||
bool operator>=(const wxULongLongWx& ll) const
|
||||
{ return *this > ll || *this == ll; }
|
||||
|
||||
bool operator<(unsigned long l) const { return *this < wxULongLongWx(l); }
|
||||
bool operator>(unsigned long l) const { return *this > wxULongLongWx(l); }
|
||||
bool operator==(unsigned long l) const
|
||||
{
|
||||
return (m_hi == 0 && m_lo == (unsigned long)l);
|
||||
}
|
||||
|
||||
bool operator<=(unsigned long l) const { return *this < l || *this == l; }
|
||||
bool operator>=(unsigned long l) const { return *this > l || *this == l; }
|
||||
|
||||
// multiplication
|
||||
wxULongLongWx operator*(const wxULongLongWx& ll) const;
|
||||
wxULongLongWx& operator*=(const wxULongLongWx& ll);
|
||||
|
||||
// division
|
||||
wxULongLongWx operator/(const wxULongLongWx& ll) const;
|
||||
wxULongLongWx& operator/=(const wxULongLongWx& ll);
|
||||
|
||||
wxULongLongWx operator%(const wxULongLongWx& ll) const;
|
||||
|
||||
void Divide(const wxULongLongWx& divisor,
|
||||
wxULongLongWx& quotient,
|
||||
wxULongLongWx& remainder) const;
|
||||
|
||||
// input/output
|
||||
|
||||
// return the string representation of this number
|
||||
wxString ToString() const;
|
||||
|
||||
void *asArray() const;
|
||||
|
||||
#if wxUSE_STD_IOSTREAM
|
||||
friend wxSTD ostream& operator<<(wxSTD ostream&, const wxULongLongWx&);
|
||||
#endif // wxUSE_STD_IOSTREAM
|
||||
|
||||
private:
|
||||
// long is at least 32 bits, so represent our 64bit number as 2 longs
|
||||
|
||||
unsigned long m_hi;
|
||||
unsigned long m_lo;
|
||||
|
||||
#ifdef wxLONGLONG_TEST_MODE
|
||||
void Check()
|
||||
{
|
||||
wxASSERT( (m_ll >> 32) == m_hi && (unsigned long)m_ll == m_lo );
|
||||
}
|
||||
|
||||
unsigned wxLongLong_t m_ll;
|
||||
#endif // wxLONGLONG_TEST_MODE
|
||||
};
|
||||
|
||||
#endif // wxUSE_LONGLONG_WX
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -533,13 +895,31 @@ private:
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
inline bool operator<(long l, const wxLongLong& ll) { return ll > l; }
|
||||
inline bool operator>(long l, const wxLongLong& ll) { return ll > l; }
|
||||
inline bool operator<=(long l, const wxLongLong& ll) { return ll > l; }
|
||||
inline bool operator>=(long l, const wxLongLong& ll) { return ll > l; }
|
||||
inline bool operator==(long l, const wxLongLong& ll) { return ll > l; }
|
||||
inline bool operator!=(long l, const wxLongLong& ll) { return ll > l; }
|
||||
inline bool operator>(long l, const wxLongLong& ll) { return ll < l; }
|
||||
inline bool operator<=(long l, const wxLongLong& ll) { return ll >= l; }
|
||||
inline bool operator>=(long l, const wxLongLong& ll) { return ll <= l; }
|
||||
inline bool operator==(long l, const wxLongLong& ll) { return ll == l; }
|
||||
inline bool operator!=(long l, const wxLongLong& ll) { return ll != l; }
|
||||
|
||||
inline wxLongLong operator+(long l, const wxLongLong& ll) { return ll + l; }
|
||||
inline wxLongLong operator-(long l, const wxLongLong& ll) { return ll - l; }
|
||||
inline wxLongLong operator-(long l, const wxLongLong& ll)
|
||||
{
|
||||
return wxLongLong(l) - ll;
|
||||
}
|
||||
|
||||
inline bool operator<(unsigned long l, const wxULongLong& ull) { return ull > l; }
|
||||
inline bool operator>(unsigned long l, const wxULongLong& ull) { return ull < l; }
|
||||
inline bool operator<=(unsigned long l, const wxULongLong& ull) { return ull >= l; }
|
||||
inline bool operator>=(unsigned long l, const wxULongLong& ull) { return ull <= l; }
|
||||
inline bool operator==(unsigned long l, const wxULongLong& ull) { return ull == l; }
|
||||
inline bool operator!=(unsigned long l, const wxULongLong& ull) { return ull != l; }
|
||||
|
||||
inline wxULongLong operator+(unsigned long l, const wxULongLong& ull) { return ull + l; }
|
||||
|
||||
// FIXME: this should return wxLongLong
|
||||
inline wxULongLong operator-(unsigned long l, const wxULongLong& ull)
|
||||
{
|
||||
return wxULongLong(l) - ull;
|
||||
}
|
||||
|
||||
#endif // _WX_LONGLONG_H
|
||||
|
@@ -136,7 +136,7 @@ public:
|
||||
|
||||
// Copy constructors
|
||||
inline wxBitmap(const wxBitmap& bitmap)
|
||||
{ Ref(bitmap); if ( wxTheBitmapList ) wxTheBitmapList->AddBitmap(this); }
|
||||
{ Ref(bitmap); }
|
||||
|
||||
// Initialize with raw data.
|
||||
wxBitmap(const char bits[], int width, int height, int depth = 1);
|
||||
|
@@ -396,13 +396,22 @@
|
||||
// Recommended setting: 1 (don't change except for very special programs)
|
||||
#define wxUSE_CONTROLS 1
|
||||
|
||||
// wxPopupWindow class is not used currently by wxMSW
|
||||
// wxPopupWindow class is a top level transient window. It is currently used
|
||||
// to implement wxTipWindow but doesn't work yet under Mac.
|
||||
//
|
||||
// Default is 0
|
||||
//
|
||||
// Recommended setting: 0
|
||||
#define wxUSE_POPUPWIN 0
|
||||
|
||||
// wxTipWindow allows to implement the custom tooltips, it is used by the
|
||||
// context help classes. Requires wxUSE_POPUPWIN.
|
||||
//
|
||||
// Default is 0
|
||||
//
|
||||
// Recommended setting: 0
|
||||
#define wxUSE_TIPWINDOW 0
|
||||
|
||||
// Each of the settings below corresponds to one wxWindows control. They are
|
||||
// all switched on by default but may be disabled if you are sure that your
|
||||
// program (including any standard dialogs it can show!) doesn't need them and
|
||||
|
@@ -217,6 +217,10 @@ WindowRef UMAGetActiveNonFloatingWindow() ;
|
||||
*/
|
||||
void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ;
|
||||
|
||||
OSStatus UMAGetHelpMenu(
|
||||
MenuRef * outHelpMenu,
|
||||
MenuItemIndex * outFirstCustomItemIndex); /* can be NULL */
|
||||
|
||||
#if !TARGET_CARBON
|
||||
#define GetPortTextFont( p) ((p)->txFont )
|
||||
#define GetPortTextSize( p) ((p)->txSize )
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user