Compare commits

...

239 Commits

Author SHA1 Message Date
Bryan Petty
0d8a8bf477 This commit was manufactured by cvs2svn to create tag 'WX_2_3_2'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_3_2@12987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 18:53:22 +00:00
Vadim Zeitlin
2bcdcf7e2a some wxUniv docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 18:53:22 +00:00
Vadim Zeitlin
84a32a7796 fixes for wxBase dist and install
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 18:39:59 +00:00
Vadim Zeitlin
22b41d3e01 some basic docs for wxBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 17:52:51 +00:00
Robin Dunn
00360d4699 SWIGged code update for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 17:04:08 +00:00
Vadim Zeitlin
d1cd84e787 added FM and wx-announce to the last section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 14:32:28 +00:00
Ron Lee
edc8bd8df3 preemptive fix for wxPython compilation. It will break otherwise when
the Serialise stuff goes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 06:40:48 +00:00
Robin Dunn
f221f8eb3a Oops... Committed wrong version last time.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 06:13:55 +00:00
Robin Dunn
2ba9346d84 Another distrib fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 06:02:26 +00:00
Robin Dunn
a6139dacac More distrib updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 04:55:09 +00:00
Vadim Zeitlin
6b5691cb91 added a note about preparing a wxGTK release
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-11 01:11:54 +00:00
Vadim Zeitlin
dc7c324430 wxBase compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 23:24:53 +00:00
Robin Dunn
af7e29cc47 PyCrust updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12975 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 22:45:02 +00:00
Robin Dunn
4309b812ef More demo/distrib updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 22:44:38 +00:00
Julian Smart
cbb26e3f6d Reversed crazy wxKEY_STRING/INTEGER thing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 21:33:30 +00:00
Robin Dunn
0655d12d67 I have no idea if this is right or works, but I'm adding a manifest to
wxPython's resource file for WinXP...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 21:23:36 +00:00
Robin Dunn
52ad59c2e9 Some demo cleanup and distrib stuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 21:20:48 +00:00
Vadim Zeitlin
daa2c7d950 enabled all tests for the release
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 15:30:29 +00:00
Robert Roebling
f6eaeda1b0 Small optical fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 11:55:16 +00:00
Julian Smart
ba5ac173ea Updated readme
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 11:47:58 +00:00
Julian Smart
5d0000b5b5 Event typo fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 11:39:06 +00:00
Robert Roebling
2593f03384 Changed wxTreeCtrl to look Mac-like under Mac
automatically.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 11:21:28 +00:00
Ron Lee
abfc2b1d5a added deps for .t files so make works correctly when you edit them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-10 01:50:09 +00:00
Robert Roebling
dd5a32cc2d Changed semantics of clicking beside the text control
when editing a label. This now accepts the input.
 My attempt to make the focus return to the owning
   tree and list control window failed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 21:15:56 +00:00
Václav Slavík
0cbc52f38e clean is symbolic target
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12963 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 15:38:45 +00:00
Václav Slavík
0a4f1bbf6d fixed zlib watcom makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 15:38:38 +00:00
Václav Slavík
f17fb29767 added wxMGL+DOS+Watcom makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 15:38:31 +00:00
Václav Slavík
e04487ebe8 more MSDOS fixes (config file location)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 15:37:51 +00:00
Vadim Zeitlin
607d9cfc56 oops, a typo in the last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 14:38:23 +00:00
Vadim Zeitlin
59a2e6354d ItemHasChildren() should return TRUE for the items which have plus button as they could have children even if they currently don't
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 14:35:54 +00:00
George Tasker
abbacd903e utils/framelayout has been much enhanced, and can now be found in contrib/src/fl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 13:58:06 +00:00
Vadim Zeitlin
ae0d8c1445 fix for the crash when many listctrl items change state
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 13:35:48 +00:00
Vadim Zeitlin
68c7f44cf6 added a note about Windows XP support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 12:56:28 +00:00
Vadim Zeitlin
7a25a27c35 fix for my old and broken mingw32 headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 12:56:03 +00:00
Julian Smart
92209a3966 Define SF_UNICODE if undefined
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 10:41:07 +00:00
Stefan Csomor
63efc55ff7 added changes in order to make at least button events work on mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 07:41:10 +00:00
Václav Slavík
000307d7a8 compilation fix for Watcom (sorry, Vadim, there's some bug in Watcom C++, it doesn't compile this instance of valid C++ code, producing an obviously incorrect error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 02:21:30 +00:00
Václav Slavík
b43a988613 wxMGL Watcom compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 02:21:20 +00:00
Vadim Zeitlin
af01f1ba0d fixed bug with the caret positioning after SetValue() introduced by the last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 01:39:54 +00:00
Ron Lee
0627d0917b fix bogus VC 'for' scoping.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 01:36:33 +00:00
Vadim Zeitlin
a92b0cfd2b no real changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 01:29:11 +00:00
Vadim Zeitlin
aac7e7fe7b fixed displaying text in non default charset in the richedit control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 00:47:29 +00:00
Vadim Zeitlin
c6465c961b suppress compilation warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 00:46:43 +00:00
Vadim Zeitlin
b1d66b5415 added wxEncodingToCodepage() and implemented it properly (using in32 API instead of directly reading from the registry)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 00:46:15 +00:00
Vadim Zeitlin
fcf689db0d refresh the window when the size changed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-09 00:45:22 +00:00
Václav Slavík
810aa7fc7f fixes for setup.h handling in Watcom makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:28:29 +00:00
Václav Slavík
3602a62e83 Watcom docs correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:28:20 +00:00
Václav Slavík
2796d5dae5 build zlib in WIN32, not MSDOS mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:26:34 +00:00
Václav Slavík
00811ff918 compilation fix for Watcom C++
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:26:22 +00:00
Václav Slavík
0729bd19f1 reverted SciTech sabotage of Watcom compilation (invalid definition of PNG,TIFF LINKAGEMODE)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:25:56 +00:00
Václav Slavík
f725b2a4ec moved HAVE_BOOLEAN logic specific to wxWindows outside libjpeg headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:25:45 +00:00
Václav Slavík
cb69afe081 compilation fix for Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:25:35 +00:00
Vadim Zeitlin
d4597e138e fixed bugs with setting the client size when the difference between the total and client size changes as the result (e.g. because the scrollbars [dis]appear or the menu bar [un]wraps
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 23:13:27 +00:00
Mattia Barbon
8810d43125 Applied #486410
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 22:22:00 +00:00
Vadim Zeitlin
99d1b93d89 1. don't emulate OFN_OVERWRITEPROMPT, use the real thing
2. squeeze duplicate (back)slashes from the initial dir, othewise the
   common dialog doesn't work


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 20:03:07 +00:00
Julian Smart
a40a9c813f Some updates to the MSW install text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 19:49:37 +00:00
Julian Smart
53fdeb16a8 Removed --use-temp-file removed from makeg95.env
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 19:20:38 +00:00
Julian Smart
25ad2ac2fe Corrected CVS commit clash; small doc changes (removed Windows 3.1 reference since
it's probably broken by now)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 18:14:57 +00:00
Robin Dunn
51dc95a4c8 Added clipboard cut and paste
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 18:04:27 +00:00
Vadim Zeitlin
08df3e4420 initialize m_hasXXX in wxWindowBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 14:03:33 +00:00
Stefan Csomor
5bc0790f29 corrected constness
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 08:00:39 +00:00
Robin Dunn
4a98c806e5 Added comment about an untested code path...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 01:25:30 +00:00
Robin Dunn
78b57918f8 Nasty workaround for an incompatible low-level change in Python 2.2,
but it was undocumented before 2.2 so I guess that's what I get...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 01:15:15 +00:00
Robin Dunn
ff5f1abaf0 also turn off build of gizmos and dllwidget if CORE_ONLY==1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 01:14:04 +00:00
Vadim Zeitlin
23895080c2 fixes for handling WM_SYSCOLORCHANGE - now seems to work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 00:26:30 +00:00
Václav Slavík
b32a1ead44 added wxMGL_DOS platform
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 00:26:25 +00:00
Václav Slavík
a246f95e96 - added precompiled headers code
- more Watcom+DOS+MGL fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 00:26:05 +00:00
Václav Slavík
f043bf8d19 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-08 00:25:52 +00:00
Robert Roebling
ed2e7e59a9 Made Aqua style internal in wxSplitterWindow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 23:28:03 +00:00
Robert Roebling
712969258a Removed Aqua style from docs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 23:27:10 +00:00
Václav Slavík
a20275148b compilation fix for Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:51:08 +00:00
Václav Slavík
b13f5fbf29 DOS compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:47:17 +00:00
Václav Slavík
4894ae18fc fixes for wxUSE_MIMETYPE==0 and fixes for compilation of generic wxFiledialog under DOS/Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:47:09 +00:00
Václav Slavík
17386f5322 the sample should really really show treectrl's native/default look
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:46:47 +00:00
Václav Slavík
e76520fdf8 fixed rendering of expanded nodes with exactly one child
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:44:02 +00:00
Václav Slavík
3678697093 compilation fix for Watcom/DOS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:42:04 +00:00
Václav Slavík
c5124240c4 watcom fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:41:25 +00:00
Václav Slavík
625e74a703 compilation fix for Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:40:47 +00:00
Václav Slavík
c35c7d01d4 compilation fix for wxULongLongWx::Divide (Vadim, is this correct?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:40:17 +00:00
Václav Slavík
4d97d44e14 (temporary) hotfix for Watcom/DOS and PNGLINKAGEMODE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:39:59 +00:00
Václav Slavík
659a606421 wxFileSystem w/o wxUSE_MIMETYPE fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:39:35 +00:00
Václav Slavík
d9f54bb0c7 MS-DOS fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 22:39:22 +00:00
Gilles Depeyrot
84e89e2aac use "..." instead of <...> for wx includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 20:18:55 +00:00
Robin Dunn
950e7faf4a Added wxLEDNumberCtrl to gizmos and wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 18:45:16 +00:00
Julian Smart
91bdd96210 Small corrections -- please remember to put a blank line at the end of each input file. Thank you
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 16:57:05 +00:00
Vadim Zeitlin
75421bf116 show font encoding as well; use a splitter to allow resizing the windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 15:24:00 +00:00
Vadim Zeitlin
3a989c8afe propose to the user to use the replacement encoding if one was found
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 15:23:11 +00:00
Stefan Csomor
b03e4fcd11 added method for getting the help menu on classic and carbon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 05:35:57 +00:00
Stefan Csomor
56a38bbe87 added method for getting the help menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 05:30:00 +00:00
Robin Dunn
ff65119eb2 Changed a method name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 04:32:43 +00:00
Vadim Zeitlin
4d416b5f21 fixed wxConfig memory leak in wxFontMapper
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 00:09:50 +00:00
Vadim Zeitlin
5acc0d5f32 don't crash in wxGetWindowXXX() if HWND is 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-07 00:08:02 +00:00
Robin Dunn
be050baf48 dllwidget demo updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-06 20:27:40 +00:00
Robin Dunn
39679a3c2f .cvsignore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-06 20:19:03 +00:00
Robin Dunn
462f07cac2 Added some event handlers to show they work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-06 20:01:20 +00:00
Robin Dunn
df7c5d28a3 Don't send the button event in idle time, just release the mouse first.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-06 20:00:27 +00:00
Robin Dunn
4a61305d36 Added wxDllWidget from Vaclav Slavik which allows wx widgets derived
from wxWindow to be loaded from a C++ .dll (or .so) and be used in a
wxPython program, without the widget having to be SWIGged first.

Various updates for distribs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-06 19:59:37 +00:00
Robert Roebling
d30f093006 Added wxSP_SASH_AQUA style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-06 17:01:00 +00:00
Ron Lee
c8499e53d8 typo fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 22:15:41 +00:00
Gilles Depeyrot
8cf3806b82 use wxWindow instead of wxTopLevelWindow (not yet implemented for wxMOTIF)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 21:05:23 +00:00
Stefan Csomor
3363eadf72 changed DoMoveWindow not to change the height of the spinbutton on mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 20:39:32 +00:00
Stefan Csomor
0f092804a2 changed default size, because MacOS X was using the boundaries differently
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 20:38:05 +00:00
Václav Slavík
f48fa475c2 DOS+Watcom fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 17:03:33 +00:00
Václav Slavík
d2ce649bec compilation fixes (I wonder how did you people ever compile it...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 17:03:17 +00:00
Václav Slavík
b7f411dd9b compilation fixes for Watcom+MGL+MS-DOS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 17:03:05 +00:00
Robin Dunn
7f60145d85 wxRemotelyScrolledTreeCtrl draws its own lines if wxTR_ROW_LINES flag
is used, but prevents the base class from seeing the flag so they
won't be drawn twice with possibly different colours.

Also changed all tabs to spaces, so the diffs will show a lot of
whitespace-only changes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 16:17:17 +00:00
Julian Smart
8f3fc6b415 Added univ.rsp and included files in wxMSW distrib
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 13:30:34 +00:00
Jouk Jansen
508e0acbd9 Committing in .
Modified Files:
 	wxWindows/setup.h_vms wxWindows/src/common/descrip.mms
 	wxWindows/src/gtk/descrip.mms

 Update of OpenVMS compile support

 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-05 11:02:02 +00:00
Václav Slavík
c427acc8d5 MS-DOS fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 23:45:16 +00:00
Václav Slavík
863210791a 1. Who the hell wrote that idiotencode for choosing drive letter on OS/2 ????
Nuked! ...and replaced that 26 items switch statement with one wxString::Printf call.
2. Compilation fixes for Watcom+MGL+MS-DOS


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 23:44:38 +00:00
Václav Slavík
c7aaa64f26 compilation fix - wxCoord, not int
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 23:44:12 +00:00
Václav Slavík
6198749900 watcom headers don't define M_PI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 23:43:49 +00:00
Robert Roebling
ac6bdf4056 Aqua splitter sashes.
Even bigger notebook for Aqua.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 21:08:50 +00:00
Stefan Csomor
9c641c057c changed defaultitem method from belonging to a panel to any window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 20:08:29 +00:00
Mattia Barbon
ea64fd024a Updated docs for wxTaskBarIcon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12871 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 19:41:53 +00:00
Mattia Barbon
ee88cb3417 Fix for very old w32api
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 19:40:28 +00:00
Robert Roebling
c768ded54a Still more space around notebook pages...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 17:44:52 +00:00
Vadim Zeitlin
dd964dccf7 wxUSE_TIPWINDOW may be set even if wxUSE_POPUPWIN is unset
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 17:37:23 +00:00
Robert Roebling
eaf336e02a Notebook sizers didn't take any borders into account,
esc. not those large ones under Aqua which caused
ugly overlapping.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 17:22:05 +00:00
Stefan Csomor
eddd3a9d37 changed the button container from wxPanel to wxWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 16:48:26 +00:00
Robert Roebling
e8566d3538 Compile fix for app.cpp without precompiled headers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 16:37:35 +00:00
Vadim Zeitlin
ae4d7004d3 fixed compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 16:29:43 +00:00
Stefan Csomor
e562df9b4b added default return and escape/command-period handling for dialogs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 16:22:36 +00:00
Robert Roebling
a385b5dfa8 Temporary fix for wxFileName under Mac - ignore volumes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 15:52:14 +00:00
Vadim Zeitlin
f7d886af3a added wxFileName::MakeRelativeTo() and the tests/docs for it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 15:13:56 +00:00
Julian Smart
c942560f94 Tried to fix makefile.g95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 14:52:33 +00:00
Vadim Zeitlin
d90b2df89d compilation fix for HAVE_SETENV
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 14:14:32 +00:00
Stefan Csomor
dd2b41b6e9 MacOS X was having a coordinate rollover for a rectangle when painting the pane background
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 14:02:59 +00:00
Julian Smart
269c86d089 Ifdefed out code that wouldn't compile with Mingw32 2.95.2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 12:13:31 +00:00
Ron Lee
a22eb2f5c3 (Blind) fix for BCC compile glitch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 10:40:35 +00:00
Julian Smart
a20c8355d3 Only paint lines in MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 08:08:21 +00:00
Ron Lee
ea1e6c4be4 fix for wxDynamicCast making it safe to pass factory functions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 04:21:09 +00:00
Vadim Zeitlin
f736ec7623 fixed assert failure when removing a menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 01:29:21 +00:00
Vadim Zeitlin
81f256328c fixed Assign(fullpath, fullname)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 01:14:09 +00:00
Robert Roebling
a8e6bf8ae2 The code in wxMac's listbox was too ambitious in filtering
out surplus events.s


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-04 00:55:45 +00:00
Robert Roebling
ed8c278040 Make wxMac single line text control ignore ENTER
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 23:25:28 +00:00
Robin Dunn
14b3f932dd wxRemotelyScrolledTreeCtrl now draws its own lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 21:37:22 +00:00
Robert Roebling
2bc6041712 Replaced && with $ in bittest.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 21:29:54 +00:00
Robin Dunn
07c99b2608 wxRemotelyScrolledTreeCtrl now draws its own lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 21:29:50 +00:00
Robin Dunn
74bcba0e33 More fixes and updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 20:58:19 +00:00
Julian Smart
a18b162dc1 Moved line-drawing to splittree implementation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 20:52:06 +00:00
Robin Dunn
78e8819c2e Added SplitTree sample to the demo
Fixes for wxEditor and its FrogEdit sample

Misc. other stuff


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 20:41:03 +00:00
Vadim Zeitlin
9bbe7068c4 fixed bug in AssignDir() which didn't always consider the argument as directory
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 18:28:07 +00:00
Robin Dunn
1dc302a8ae Removed m_clientData and related methods as it's now handled by the
wxClientDataContainer mixin.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 18:17:43 +00:00
George Tasker
bb064193a7 Removed a call to Upper() on the table name when building an UPDATE statement. Patch #488365 submitted by Christophe Massaloux
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 14:52:29 +00:00
Julian Smart
02a3b39120 Fixed some label errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 11:36:04 +00:00
Julian Smart
5ea757d054 Added wxUSE_TIPWINDOW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 11:17:30 +00:00
George Tasker
0bd63eb6ff Removed semicolons from end of DECLARE_DYNAMIC_CLASS() and DECLARE_NO_COPY_CLASS() lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 10:55:58 +00:00
George Tasker
3a87625f68 Changed all the wxASSERT(0) calls to use wxFAIL_MSG()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 10:54:59 +00:00
George Tasker
5515f252cb Changed all the wxASSERT(0) calls to use wxFAIL_MSG()
Removed the TABs in the source replacing with the standard number of spaces
Removed variable definitions from FOR statements defining the variables before the FOR statement


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 10:54:38 +00:00
Vadim Zeitlin
e6b01b78a3 fixed mem leak in wxDataObjectComposite
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 00:30:51 +00:00
Vadim Zeitlin
d6044f582c don't use wxRegEx in wxString::Matches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-03 00:11:53 +00:00
George Tasker
7527fdd873 Fixed incorrect deletion of hPalette if the call to wxReadDIB() fails
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 22:54:38 +00:00
Gilles Depeyrot
add33e95c5 corrected line endings in xml files (mistakenly committed with mac eol)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 20:53:08 +00:00
Gilles Depeyrot
8a242615ef filter CodeWarrior data directories during recursive directory scan
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 20:02:17 +00:00
Gilles Depeyrot
b383b2c1fd added not concerning conversion of xml files to CodeWarrior binary projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 19:19:17 +00:00
Gilles Depeyrot
d8542a1cd1 store CodeWarrior 5.3 projects as xml instead of binary projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 18:40:34 +00:00
Gilles Depeyrot
afcca39be9 store CodeWarrior 5.3 projects as xml instead of binary projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 18:11:49 +00:00
Gilles Depeyrot
1c777e15c9 store CodeWarrior 5.3 projects as xml instead of binary projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 17:09:31 +00:00
Gilles Depeyrot
644deea4d2 removed obsolete mac related directories and files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 16:41:34 +00:00
Vadim Zeitlin
58a9336be1 fixed bad choice of accel keys
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 16:19:33 +00:00
Vadim Zeitlin
fdda2df62d fixed redraw problems on resize under MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 16:18:37 +00:00
Vadim Zeitlin
5f3286d17d more fixes to target window scrolling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 15:57:36 +00:00
Vadim Zeitlin
af4088f1be fixed event processing for the target window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 15:04:38 +00:00
Gilles Depeyrot
f69fcd070b added instructions concerning applescripts to convert xml files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 14:52:40 +00:00
Gilles Depeyrot
af54096f69 updated todo list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 14:51:03 +00:00
Gilles Depeyrot
0cdb5f82c6 added folder update in order to run correctly under Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 14:50:40 +00:00
Vadim Zeitlin
4ae76072f1 really avoid the compiler warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 13:35:04 +00:00
Vadim Zeitlin
c598f22518 SetDefaultStyle(wxTextAttr()) now resets the default style instead of not changing it at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 13:29:21 +00:00
Ron Lee
2dc5bacc01 fixes for contrib build.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 10:07:15 +00:00
Robin Dunn
961c54c333 wxTipWindow can now derived from wxFrame if not wxUSE_POPUPWIN, or
wxPopupTransientWindow otherwise.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 01:54:38 +00:00
Vadim Zeitlin
673ad11240 fixed stupid bug which prevented automatic encoding conversion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 01:51:42 +00:00
Vadim Zeitlin
71292fab8d always use HWND first in WM_COMMAND handler to avoid mixing the controls with the same id
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 00:49:02 +00:00
Vadim Zeitlin
3f2474754a fixed bug introduced earlier today in wxTempFile::Open()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 00:46:48 +00:00
Vadim Zeitlin
d7997e1ab1 really fixed wxLongLong
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-02 00:08:21 +00:00
Vadim Zeitlin
b01fb5c340 fixed VC++ compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 23:53:03 +00:00
Robin Dunn
42dd647cfd Added a dependency for setup.h so it will be copied again if needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 20:58:08 +00:00
Robin Dunn
44d568b6a8 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 20:49:12 +00:00
Vadim Zeitlin
d0e9b1506e updated dmalloc home page address
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 18:26:24 +00:00
Gilles Depeyrot
d71c423e19 don't use wxTheXXXList in wxXXX ctor/dtor, only objects explicitly created
with FindOrCreateXXX() are managed by the lists


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 17:48:29 +00:00
Vadim Zeitlin
ade35f11fe 1. added wxFileName::CreateTempFileName() and implemented it properly (using
mkstemp() when available)
2. wxTempFile::Open() and wxGetTempFileName() now use CreateTempFileName()
   avoiding code duplication
3. updated the docs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 17:18:11 +00:00
Vadim Zeitlin
1d21855083 added wxStringBuffer helper
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 17:16:16 +00:00
Mattia Barbon
f2d0790b1a Applied #487077: updates/fixes for BCC32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 14:52:00 +00:00
Ron Lee
f1104df133 somehow this got missed on the last commit..
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 14:40:34 +00:00
Ron Lee
681641370c Added wxFile::write_excl and use it from wxTempFile to securely open the
temporary file.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 13:51:24 +00:00
Vadim Zeitlin
ab3edaceba fixed Borland C++ compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 13:46:07 +00:00
Gilles Depeyrot
2edd0e7c66 don't use wxTheXXXList in wxXXX ctor/dtor, only objects explicitly created
with FindOrCreateXXX() are managed by the lists


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 13:34:50 +00:00
Ron Lee
4f716609c9 fix wxUINT64_SWAP macro to use wxULongLong now that it exists.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 13:13:45 +00:00
Vadim Zeitlin
485cf710d7 disable wxUSE_POPUPWIN for Motif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 12:57:55 +00:00
Vadim Zeitlin
77f859c38e fixed assert to avoid compilation warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 12:56:01 +00:00
Vadim Zeitlin
0ba9f867fa fixed compilation warning about signed/unsigned comparison
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 12:53:55 +00:00
Julian Smart
13ff9344d6 Attempted to fix splittree problem by not pushing event handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 12:26:27 +00:00
Julian Smart
38058a49c6 Corrected small error but still no tree visible :-(
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 09:15:40 +00:00
Gilles Depeyrot
4b796bb03c don't use wxTheXXXList in wxXXX ctor/dtor, only objects explicitly created
with FindOrCreateXXX() are managed by the lists


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 08:17:03 +00:00
Ron Lee
9929591c13 oops, still missed one.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:56:52 +00:00
Ron Lee
8e38fd1fb0 Added 2 extra macros to handle all the flavours of wxInt64 :(
Did a quick and dirty cut'n'paste to implement wxULongLong and provide
wxUint64 on platforms without a suitable native type.
Noted it's existance and inappropriate methods in the wxLongLong docs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:43:08 +00:00
Vadim Zeitlin
2b7e44a28c added wxUSE_TIPWINDOW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:28:04 +00:00
Vadim Zeitlin
9926e4a4d7 regenerated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:24:54 +00:00
Vadim Zeitlin
0b01706f2c added wxUSE_TIPWINDOW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:21:06 +00:00
Vadim Zeitlin
f38bcae5bf fixed compilation after wxTipWindow base class change, added wxUSE_TIPWINDOW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:18:24 +00:00
Vadim Zeitlin
83a2e3c5ad documented ConvertStringToArgs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:17:49 +00:00
Vadim Zeitlin
6f91bc3333 1. GetCwd() now has the volume argument, Normalize() works correctly for the
paths without full path but with the volume
2. fixed old SplitPath() version without volume to behave in a backwards
   compatible way
3. added more docs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 03:16:19 +00:00
Vadim Zeitlin
52dbd056d2 more fixes for volume names handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 02:28:51 +00:00
Robin Dunn
1918b6f789 Updated PyCrust contrib from Patrick O'Brian.
Added an enhanced wxEditor from Steve Howell and Adam Feuer.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 02:25:39 +00:00
Vadim Zeitlin
39cc7a0bae added wxWS_EX_TRANSIENT, added code for handling it and fixed wxLogGeneric
to avoid crashes related to creating the log dialog as child of a window which
is destroyed before it is


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:40:12 +00:00
Vadim Zeitlin
ff69a290d6 wxFILE_SEP_PATH_VMS must be '.', not '/'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:38:06 +00:00
Robin Dunn
572c7069bb Updated contribs from Lorne White
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:33:32 +00:00
Robin Dunn
68673975c6 Tweaking this demo a bit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:18:30 +00:00
Robin Dunn
2481a3763b SWIGged code update for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:17:55 +00:00
Robin Dunn
4416b50837 wxTipWindow is now a wxPopupTransientWindow instead of a wxFrame.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:15:05 +00:00
Vadim Zeitlin
684cbc0edd reverted previous change - it doesn't fix the bug I wanted to fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:08:54 +00:00
Robin Dunn
5f09cfe3de Forgot to take the unneeded code out
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:03:46 +00:00
Robin Dunn
8962e1d938 wxTipWindow is now a wxPopupTransientWindow instead of a wxFrame.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 23:02:27 +00:00
Vadim Zeitlin
d323d966dd don't use implicit parent for the progress dialogs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 22:55:16 +00:00
David Webster
27752aab2a Can't just wxASSERT(0). Give "constant in conditional expression" errors on some compilers. Also bad control codes on the end of some preprocessor constants.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 22:10:31 +00:00
Vadim Zeitlin
a874db9279 extended file name tests
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 21:56:16 +00:00
Vadim Zeitlin
04c943b139 added volume support and support for UNC paths under Windows, improved Mac and VMS support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 21:55:13 +00:00
Vadim Zeitlin
2569938d39 added wxFileName docs skeleton
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 21:53:45 +00:00
Vadim Zeitlin
d8b6f4d9a2 now the methods are sorted in the correct order in the generated docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12767 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 21:43:35 +00:00
Robin Dunn
744d5712ce Added the standard lines needed for compiling with PCH, and etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 21:19:30 +00:00
Robin Dunn
7a0f694a11 SWIGged code update
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 21:17:18 +00:00
Robin Dunn
611dc22cee Attempted to add the SplitTree gizmo classes, but it is not working on
MSW... :-(


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 21:16:36 +00:00
Gilles Depeyrot
643b97f8a7 added AppleScripts to export/import xml files from/to projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 20:59:23 +00:00
Vadim Zeitlin
5a56be287a corrected InternetGetConnectedState() prototype
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 17:02:21 +00:00
Vadim Zeitlin
7104f65dbe set app name to argv[0] by default, as was done before
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 16:54:15 +00:00
Julian Smart
232b005197 Fixed bug in wxConvertDIBToBitmap (contributed)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 07:34:40 +00:00
Robin Dunn
3e2125031b SWIGged code update for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 05:08:46 +00:00
Robin Dunn
4161723f46 Fixed some warnings in wxSTC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 05:07:43 +00:00
Robin Dunn
ddf2da08b5 Another blind attempt to fix AltGr issues in wxSTC, and a context menu
fix for wxGTK.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 02:16:27 +00:00
Václav Slavík
58fd8ab910 czech translation update (not yet finished)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-29 21:41:38 +00:00
Vadim Zeitlin
4efb5650d1 fixed backslashes parsing in the cmd line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-29 19:47:35 +00:00
Julian Smart
3ac59f211b Don't convert args if NULL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-29 15:05:05 +00:00
Ron Lee
2226ead00d Add wxPython/contrib/gizmos to PYTHON_DIST
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-29 01:08:54 +00:00
Robin Dunn
c594325333 Changes to ensure that GDI objects returned from Python methods are
copied, not just left as references.  The old way was
counter-intuitive for Python.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-29 00:51:59 +00:00
Václav Slavík
b2abc29318 fixes w.r.t. size_t vs. int
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-28 23:10:59 +00:00
Mattia Barbon
f7db440e1f Fixed error in translation ( thanks to Nerijus Baliunas for spotting it )
Added some more translations.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-28 22:44:47 +00:00
Vadim Zeitlin
83c865f518 fixed (at least some of) the focus asserts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-28 19:50:37 +00:00
Vadim Zeitlin
a3b72ffb8f HelpGen doesn't work in GUI mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-28 19:27:33 +00:00
Julian Smart
e8d5008c2e Small change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-28 18:33:44 +00:00
753 changed files with 340220 additions and 44441 deletions

View File

@@ -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
----------------------------------------

View File

@@ -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

1459
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -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,
@@ -4500,11 +4508,20 @@ 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
AC_DEFINE(wxUSE_POPUPWIN)
USES_CONTROLS=1
if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled])
else
AC_DEFINE(wxUSE_POPUPWIN)
USES_CONTROLS=1
fi
fi
fi
if test "$wxUSE_TIPWINDOW" = "yes"; then
AC_DEFINE(wxUSE_TIPWINDOW)
fi
if test "$USES_CONTROLS" = 1; then
AC_DEFINE(wxUSE_CONTROLS)
fi

View 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

View File

@@ -15,7 +15,7 @@
#define _WX_SPLITTREE_H_
#ifdef __GNUG__
#pragma interface "splittree.h"
#pragma interface "splittree.h"
#endif
#ifdef GIZMOISDLL
@@ -54,16 +54,17 @@ class wxSplitterScrolledWindow;
class GIZMODLLEXPORT wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
{
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
public:
wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition,
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
~wxRemotelyScrolledTreeCtrl();
~wxRemotelyScrolledTreeCtrl();
//// Events
void OnSize(wxSizeEvent& event);
void OnExpand(wxTreeEvent& event);
void OnSize(wxSizeEvent& event);
void OnExpand(wxTreeEvent& event);
void OnScroll(wxScrollWinEvent& event);
void OnPaint(wxPaintEvent& event);
//// Overrides
// Override this in case we're using the generic tree control.
@@ -88,18 +89,18 @@ public:
virtual int GetScrollPos(int orient) const;
//// Helpers
void HideVScrollbar();
void HideVScrollbar();
// Calculate the tree overall size so we can set the scrollbar
// correctly
void CalcTreeSize(wxRect& rect);
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
// Calculate the tree overall size so we can set the scrollbar
// correctly
void CalcTreeSize(wxRect& rect);
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
// Adjust the containing wxScrolledWindow's scrollbars appropriately
void AdjustRemoteScrollbars();
// Adjust the containing wxScrolledWindow's scrollbars appropriately
void AdjustRemoteScrollbars();
// Find the scrolled window that contains this control
wxScrolledWindow* GetScrolledWindow() const;
// Find the scrolled window that contains this control
wxScrolledWindow* GetScrolledWindow() const;
// Scroll to the given line (in scroll units where each unit is
// the height of an item)
@@ -107,15 +108,16 @@ public:
//// Accessors
// The companion window is one which will get notified when certain
// events happen such as node expansion
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
// The companion window is one which will get notified when certain
// events happen such as node expansion
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
DECLARE_EVENT_TABLE()
protected:
wxWindow* m_companionWindow;
wxWindow* m_companionWindow;
bool m_drawRowLines;
};
/*
@@ -135,22 +137,22 @@ public:
long style = 0);
//// Overrides
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
//// Events
void OnPaint(wxPaintEvent& event);
void OnPaint(wxPaintEvent& event);
void OnScroll(wxScrollWinEvent& event);
void OnExpand(wxTreeEvent& event);
void OnExpand(wxTreeEvent& event);
//// Operations
//// Accessors
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
//// Data members
protected:
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
DECLARE_EVENT_TABLE()
};
@@ -179,7 +181,7 @@ public:
// Tests for x, y over sash. Overriding this allows us to increase
// the tolerance.
bool SashHitTest(int x, int y, int tolerance = 2);
void DrawSash(wxDC& dc);
void DrawSash(wxDC& dc);
//// Events

View File

@@ -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;

View File

@@ -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; }

View File

@@ -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

View File

@@ -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
*/

View File

@@ -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;

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@
// Created: 02/01/99
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
@@ -31,86 +31,86 @@
BEGIN_EVENT_TABLE( wxFrameView, wxEvtHandler )
EVT_IDLE( wxFrameView::OnIdle )
EVT_IDLE( wxFrameView::OnIdle )
END_EVENT_TABLE()
void wxFrameView::OnIdle( wxIdleEvent& event)
{
event.Skip();
event.Skip();
if ( mDoToolUpdates )
{
int o = 0; //glt
++o;
if ( mDoToolUpdates )
{
int o = 0; //glt
++o;
// TBD::
}
// TBD::
}
}
/*** public methods ***/
wxFrameView::wxFrameView()
: mpLayout( NULL ),
mpFrameMgr( NULL )
: mpLayout( NULL ),
mpFrameMgr( NULL )
{}
wxFrameView::~wxFrameView()
{
if ( mpLayout ) delete mpLayout;
if ( mpLayout ) delete mpLayout;
}
wxFrame* wxFrameView::GetParentFrame()
{
return mpFrameMgr->GetParentFrame();
return mpFrameMgr->GetParentFrame();
}
wxWindow* wxFrameView::GetClientWindow()
{
return mpFrameMgr->GetClientWindow();
return mpFrameMgr->GetClientWindow();
}
void wxFrameView::Activate()
{
mpFrameMgr->ActivateView( this );
mpFrameMgr->ActivateView( this );
}
void wxFrameView::Deactivate()
{
mpFrameMgr->DeactivateCurrentView();
mpFrameMgr->DeactivateCurrentView();
}
void wxFrameView::CreateLayout()
{
mpLayout = new wxFrameLayout( GetParentFrame(), mpFrameMgr->GetClientWindow(), FALSE );
mpLayout = new wxFrameLayout( GetParentFrame(), mpFrameMgr->GetClientWindow(), FALSE );
}
wxFrameLayout* wxFrameView::GetLayout()
{
return mpLayout;
return mpLayout;
}
void wxFrameView::SetToolUpdates( bool doToolUpdates )
{
mDoToolUpdates = doToolUpdates;
mDoToolUpdates = doToolUpdates;
}
void wxFrameView::SetLayout( wxFrameLayout* pLayout )
{
if ( mpLayout ) delete mpLayout;
if ( mpLayout ) delete mpLayout;
mpLayout = pLayout;
mpLayout = pLayout;
}
wxFrameManager& wxFrameView::GetFrameManager()
{
return *mpFrameMgr;
return *mpFrameMgr;
}
void wxFrameView::RegisterMenu( const wxString& topMenuName )
{
mTopMenus.Add( topMenuName );
mTopMenus.Add( topMenuName );
}
#if 0
@@ -121,32 +121,32 @@ void wxFrameView::RegisterMenu( const wxString& topMenuName )
class wxFrameViewSerializer : public wxEvtHandlerSerializer
{
DECLARE_SERIALIZER_CLASS( wxFrameViewSerializer );
DECLARE_SERIALIZER_CLASS( wxFrameViewSerializer );
static void Serialize( wxObject* pObj, wxObjectStorage& store );
static void Serialize( wxObject* pObj, wxObjectStorage& store );
};
IMPLEMENT_SERIALIZER_CLASS( wxFrameView,
wxFrameViewSerializer,
wxFrameViewSerializer::Serialize,
NO_CLASS_INIT )
wxFrameViewSerializer,
wxFrameViewSerializer::Serialize,
NO_CLASS_INIT )
void wxFrameViewSerializer::Serialize( wxObject* pObj, wxObjectStorage& store )
{
// wxFrameViewSerializer is a kind of wxEvtHandler - peform serialization of
// the base class first
// wxFrameViewSerializer is a kind of wxEvtHandler - peform serialization of
// the base class first
info.SerializeInherited( pObj, store );
info.SerializeInherited( pObj, store );
wxFrameView* pView = (wxFrameView*)pObj;
wxFrameView* pView = (wxFrameView*)pObj;
store.XchgObjPtr( (wxObject**) &pView->mpFrameMgr );
store.XchgObjPtr( (wxObject**) &pView->mpLayout );
store.XchgBool ( pView->mDoToolUpdates );
store.XchgObjPtr( (wxObject**) &pView->mpFrameMgr );
store.XchgObjPtr( (wxObject**) &pView->mpLayout );
store.XchgBool ( pView->mDoToolUpdates );
// serialize members in derived classes
// serialize members in derived classes
pView->OnSerialize( store );
pView->OnSerialize( store );
}
#endif
@@ -156,263 +156,262 @@ void wxFrameViewSerializer::Serialize( wxObject* pObj, wxObjectStorage& store )
void wxFrameManager::DoSerialize( wxObjectStorage& store )
{
#if 0
store.AddInitialRef( mpFrameWnd );
store.AddInitialRef( this );
if ( mpClientWnd ) store.AddInitialRef( mpClientWnd );
store.AddInitialRef( mpFrameWnd );
store.AddInitialRef( this );
if ( mpClientWnd ) store.AddInitialRef( mpClientWnd );
store.XchgObj( (wxObject*) &mViews );
store.XchgInt( mActiveViewNo );
store.XchgObj( (wxObject*) &mViews );
store.XchgInt( mActiveViewNo );
store.Finalize(); // finish serialization
store.Finalize(); // finish serialization
#endif
}
void wxFrameManager::DestroyViews()
{
DeactivateCurrentView();
DeactivateCurrentView();
wxNode* pNode = mViews.First();
wxNode* pNode = mViews.First();
while( pNode )
{
delete (wxFrameView*)pNode->Data();
while ( pNode )
{
delete (wxFrameView*)pNode->Data();
pNode = pNode->Next();
}
pNode = pNode->Next();
}
if ( mActiveViewNo != -1 && GetParentFrame() )
if ( mActiveViewNo != -1 && GetParentFrame() )
GetParentFrame()->SetNextHandler( NULL );
GetParentFrame()->SetNextHandler( NULL );
}
int wxFrameManager::GetViewNo( wxFrameView* pView )
{
wxNode* pNode = mViews.First();
int n = 0;
wxNode* pNode = mViews.First();
int n = 0;
while( pNode )
{
if ( (wxFrameView*)pNode->Data() == pView )
while ( pNode )
{
if ( (wxFrameView*)pNode->Data() == pView )
return n;
return n;
++n;
pNode = pNode->Next();
}
++n;
pNode = pNode->Next();
}
return -1;
return -1;
}
void wxFrameManager::EnableMenusForView( wxFrameView* pView, bool enable )
{
wxMenuBar* pMenuBar = GetParentFrame()->GetMenuBar();
int count = pMenuBar->GetMenuCount();
wxMenuBar* pMenuBar = GetParentFrame()->GetMenuBar();
int count = pMenuBar->GetMenuCount();
if ( !pMenuBar ) return;
if ( !pMenuBar )
return;
wxStringListNode* pNode = pView->mTopMenus.GetFirst();
wxStringListNode* pNode = pView->mTopMenus.GetFirst();
while( pNode )
{
for( int i = 0; i != count; ++i )
{
if ( pMenuBar->GetMenu(i)->GetTitle() == pNode->GetData() )
int i;
while ( pNode )
{
for ( i = 0; i != count; ++i )
{
if ( pMenuBar->GetMenu(i)->GetTitle() == pNode->GetData() )
pMenuBar->EnableTop( i, enable );
}
pMenuBar->EnableTop( i, enable );
}
pNode = pNode->GetNext();
}
pNode = pNode->GetNext();
}
}
void wxFrameManager::SyncAllMenus()
{
wxNode* pNode = mViews.First();
int i = 0;
wxNode* pNode = mViews.First();
int i = 0;
while( pNode )
{
if ( i != mActiveViewNo )
while ( pNode )
{
if ( i != mActiveViewNo )
EnableMenusForView( (wxFrameView*)pNode->GetData(), FALSE );
EnableMenusForView( (wxFrameView*)pNode->GetData(), FALSE );
pNode = pNode->Next();
}
pNode = pNode->Next();
}
EnableMenusForView( GetView( mActiveViewNo ), TRUE );
EnableMenusForView( GetView( mActiveViewNo ), TRUE );
}
/*** public methods ***/
wxFrameManager::wxFrameManager()
: mpFrameWnd( NULL ),
mActiveViewNo( -1 ),
mpClientWnd( NULL )
: mpFrameWnd( NULL ),
mActiveViewNo( -1 ),
mpClientWnd( NULL )
{
}
wxFrameManager::~wxFrameManager()
{
SaveViewsNow();
DestroyViews();
SaveViewsNow();
DestroyViews();
}
void wxFrameManager::Init( wxWindow* pMainFrame, const wxString& settingsFile )
{
mSettingsFile = settingsFile;
mpFrameWnd = pMainFrame;
mSettingsFile = settingsFile;
mpFrameWnd = pMainFrame;
wxNode* pNode = mViews.First();
wxNode* pNode = mViews.First();
while( pNode )
{
wxFrameView* pView = (wxFrameView*)pNode->Data();
while ( pNode )
{
wxFrameView* pView = (wxFrameView*)pNode->Data();
pView->OnInit();
pView->OnInitMenus();
pView->OnInit();
pView->OnInitMenus();
pNode = pNode->Next();
}
pNode = pNode->Next();
}
if ( !ReloadViews() )
{
// if loading of settings file failed (e.g. was not found),
// do recreation of items in each view
if ( !ReloadViews() )
{
// if loading of settings file failed (e.g. was not found),
// do recreation of items in each view
pNode = mViews.First();
pNode = mViews.First();
while( pNode )
{
wxFrameView* pView = (wxFrameView*)pNode->Data();
while ( pNode )
{
wxFrameView* pView = (wxFrameView*)pNode->Data();
pView->OnRecreate();
pView->OnRecreate();
pNode = pNode->Next();
}
}
pNode = pNode->Next();
}
}
if ( mActiveViewNo >= mViews.Number() )
if ( mActiveViewNo >= mViews.Number() )
mActiveViewNo = -1;
mActiveViewNo = -1;
ActivateView( GetView( ( mActiveViewNo == -1 ) ? 0 : mActiveViewNo ) );
ActivateView( GetView( ( mActiveViewNo == -1 ) ? 0 : mActiveViewNo ) );
SyncAllMenus();
SyncAllMenus();
}
void wxFrameManager::AddView( wxFrameView* pFrmView )
{
mViews.Append( pFrmView );
mViews.Append( pFrmView );
pFrmView->mpFrameMgr = this; // back ref.
pFrmView->mpFrameMgr = this; // back ref.
}
void wxFrameManager::RemoveView( wxFrameView* pFrmView )
{
// TBD::
int avoidCompilerWarning = 0;
wxASSERT(avoidCompilerWarning);
// TBD::
wxFAIL_MSG("wxFrameManager::RemoveView() has not been implemented yet.");
}
int wxFrameManager::GetActiveViewNo()
{
return mActiveViewNo;
return mActiveViewNo;
}
wxFrameView* wxFrameManager::GetActiveView()
{
wxNode* pNode = mViews.Nth( mActiveViewNo );
wxNode* pNode = mViews.Nth( mActiveViewNo );
if ( pNode ) return (wxFrameView*)pNode->Data();
else return NULL;
if ( pNode ) return (wxFrameView*)pNode->Data();
else return NULL;
}
wxNode* wxFrameManager::GetActiveViewNode()
{
return mViews.Nth( mActiveViewNo );
return mViews.Nth( mActiveViewNo );
}
wxFrame* wxFrameManager::GetParentFrame()
{
return ((wxFrame*)mpFrameWnd);
return ((wxFrame*)mpFrameWnd);
}
wxWindow* wxFrameManager::GetParentWindow()
{
return mpFrameWnd;
return mpFrameWnd;
}
wxFrameView* wxFrameManager::GetView( int viewNo )
{
wxNode* pNode = mViews.Nth( viewNo );
wxNode* pNode = mViews.Nth( viewNo );
if ( pNode ) return (wxFrameView*)pNode->Data();
else return NULL;
if ( pNode ) return (wxFrameView*)pNode->Data();
else return NULL;
}
void wxFrameManager::ActivateView( int viewNo )
{
ActivateView( GetView( viewNo ) );
ActivateView( GetView( viewNo ) );
}
void wxFrameManager::ActivateView( wxFrameView* pFrmView )
{
DeactivateCurrentView();
DeactivateCurrentView();
mActiveViewNo = GetViewNo( pFrmView );
mActiveViewNo = GetViewNo( pFrmView );
if ( pFrmView->mpLayout )
if ( pFrmView->mpLayout )
pFrmView->mpLayout->Activate();
pFrmView->mpLayout->Activate();
// FIXME:: we would have used PushEventHandler(),
// but wxFrame bypasses attached handlers when
// handling wxCommand events!
// FIXME:: we would have used PushEventHandler(),
// but wxFrame bypasses attached handlers when
// handling wxCommand events!
GetParentFrame()->PushEventHandler( pFrmView );
GetParentFrame()->PushEventHandler( pFrmView );
EnableMenusForView( pFrmView, TRUE );
EnableMenusForView( pFrmView, TRUE );
}
void wxFrameManager::SetClinetWindow( wxWindow* pFrameClient )
{
if ( mpClientWnd ) mpClientWnd->Destroy();
if ( mpClientWnd ) mpClientWnd->Destroy();
mpClientWnd = pFrameClient;
mpClientWnd = pFrameClient;
}
wxWindow* wxFrameManager::GetClientWindow()
{
if ( !mpClientWnd )
if ( !mpClientWnd )
mpClientWnd = new wxWindow( GetParentFrame(), -1 );
mpClientWnd = new wxWindow( GetParentFrame(), -1 );
return mpClientWnd;
return mpClientWnd;
}
void wxFrameManager::DeactivateCurrentView()
{
if ( mActiveViewNo == -1 ) return;
if ( mActiveViewNo == -1 )
return;
wxFrameView* pView = GetActiveView();
wxFrameView* pView = GetActiveView();
// FOR NOW::
wxASSERT( GetParentFrame()->GetEventHandler() == pView );
// FOR NOW::
wxASSERT( GetParentFrame()->GetEventHandler() == pView );
GetParentFrame()->PopEventHandler();
GetParentFrame()->PopEventHandler();
if ( pView->mpLayout )
if ( pView->mpLayout )
pView->mpLayout->Deactivate();
pView->mpLayout->Deactivate();
EnableMenusForView( pView, FALSE );
EnableMenusForView( pView, FALSE );
}
void wxFrameManager::SaveViewsNow()
{
#if 0
if ( mSettingsFile == "" ) return;
if ( mSettingsFile == "" ) return;
wxIOStreamWrapper stm;
stm.CreateForOutput( mSettingsFile );
@@ -424,15 +423,14 @@ void wxFrameManager::SaveViewsNow()
bool wxFrameManager::ReloadViews()
{
return FALSE;
return FALSE;
// TBD: ????
// TBD: ????
#if 0
if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) )
if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) )
return FALSE;
return FALSE;
DestroyViews();
DestroyViews();
wxIOStreamWrapper stm;
stm.CreateForInput( mSettingsFile );
@@ -440,12 +438,12 @@ bool wxFrameManager::ReloadViews()
mStore.SetDataStream( stm );
DoSerialize( mStore );
return TRUE;
return TRUE;
#endif
}
bool wxFrameManager::ViewsAreLoaded()
{
return ( mViews.Number() != 0 );
return ( mViews.Number() != 0 );
}

File diff suppressed because it is too large Load Diff

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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"
/*

View 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();
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -58,17 +58,25 @@ BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxGenericTreeCtrl)
#else
BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxTreeCtrl)
#endif
EVT_SIZE(wxRemotelyScrolledTreeCtrl::OnSize)
EVT_TREE_ITEM_EXPANDED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
EVT_TREE_ITEM_COLLAPSED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
EVT_SCROLLWIN(wxRemotelyScrolledTreeCtrl::OnScroll)
EVT_SIZE(wxRemotelyScrolledTreeCtrl::OnSize)
EVT_PAINT(wxRemotelyScrolledTreeCtrl::OnPaint)
EVT_TREE_ITEM_EXPANDED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
EVT_TREE_ITEM_COLLAPSED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
EVT_SCROLLWIN(wxRemotelyScrolledTreeCtrl::OnScroll)
END_EVENT_TABLE()
wxRemotelyScrolledTreeCtrl::wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt,
const wxSize& sz, long style):
wxTreeCtrl(parent, id, pt, sz, style)
wxRemotelyScrolledTreeCtrl::wxRemotelyScrolledTreeCtrl(
wxWindow* parent, wxWindowID id, const wxPoint& pt,
const wxSize& sz, long style)
: wxTreeCtrl(parent, id, pt, sz, style & ~wxTR_ROW_LINES)
{
m_companionWindow = NULL;
m_companionWindow = NULL;
// We draw the row lines ourself so they match what's done
// by the companion window. That is why the flag is turned
// off above, so wxGenericTreeCtrl doesn't draw them in a
// different colour.
m_drawRowLines = (style & wxTR_ROW_LINES) != 0;
}
wxRemotelyScrolledTreeCtrl::~wxRemotelyScrolledTreeCtrl()
@@ -77,16 +85,20 @@ wxRemotelyScrolledTreeCtrl::~wxRemotelyScrolledTreeCtrl()
void wxRemotelyScrolledTreeCtrl::HideVScrollbar()
{
#if defined(__WXMSW__) && USE_GENERIC_TREECTRL
#if defined(__WXMSW__)
#if USE_GENERIC_TREECTRL
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
#endif
{
::ShowScrollBar((HWND) GetHWND(), SB_VERT, FALSE);
}
#if USE_GENERIC_TREECTRL
else
#endif
{
// Implicit in overriding SetScrollbars
}
#endif
#endif
}
// Number of pixels per user unit (0 or -1 for no scrollbar)
@@ -103,9 +115,9 @@ void wxRemotelyScrolledTreeCtrl::SetScrollbars(int pixelsPerUnitX, int pixelsPer
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
win->wxGenericTreeCtrl::SetScrollbars(pixelsPerUnitX, 0, noUnitsX, 0, xPos, 0, noRefresh);
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow)
{
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow)
{
scrolledWindow->SetScrollbars(0, pixelsPerUnitY, 0, noUnitsY, 0, yPos, noRefresh);
}
}
@@ -154,13 +166,13 @@ void wxRemotelyScrolledTreeCtrl::GetViewStart(int *x, int *y) const
scrolledWindow->GetViewStart(& x2, & y2);
* y = y2;
}
else
else
#endif
{
// x is wrong since the horizontal scrollbar is controlled by the
// tree control, but we probably don't need it.
{
// x is wrong since the horizontal scrollbar is controlled by the
// tree control, but we probably don't need it.
scrolledWindow->GetViewStart(x, y);
}
}
}
// In case we're using the generic tree control.
@@ -169,7 +181,7 @@ void wxRemotelyScrolledTreeCtrl::PrepareDC(wxDC& dc)
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
if (IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
{
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
@@ -195,9 +207,9 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int posHoriz, int posVert)
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
#endif
{
UINT sbCode = SB_THUMBPOSITION;
HWND vertScrollBar = 0;
MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXHWND) vertScrollBar);
UINT sbCode = SB_THUMBPOSITION;
HWND vertScrollBar = 0;
MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXHWND) vertScrollBar);
}
#if USE_GENERIC_TREECTRL
else
@@ -206,90 +218,127 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int posHoriz, int posVert)
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
{
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
win->Refresh();
/* Doesn't work yet because scrolling is ignored by Scroll
win->Refresh();
/* Doesn't work yet because scrolling is ignored by Scroll
int xppu, yppu;
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow)
{
scrolledWindow->GetScrollPixelsPerUnit(& xppu, & yppu);
win->Scroll(-1, posVert*yppu);
}
*/
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow)
{
scrolledWindow->GetScrollPixelsPerUnit(& xppu, & yppu);
win->Scroll(-1, posVert*yppu);
}
*/
}
#endif
}
void wxRemotelyScrolledTreeCtrl::OnSize(wxSizeEvent& event)
{
HideVScrollbar();
AdjustRemoteScrollbars();
event.Skip();
HideVScrollbar();
AdjustRemoteScrollbars();
event.Skip();
}
void wxRemotelyScrolledTreeCtrl::OnExpand(wxTreeEvent& event)
{
AdjustRemoteScrollbars();
event.Skip();
AdjustRemoteScrollbars();
event.Skip();
// If we don't have this, we get some bits of lines still remaining
if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_COLLAPSED)
Refresh();
// Pass on the event
if (m_companionWindow)
m_companionWindow->GetEventHandler()->ProcessEvent(event);
// Pass on the event
if (m_companionWindow)
m_companionWindow->GetEventHandler()->ProcessEvent(event);
}
void wxRemotelyScrolledTreeCtrl::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
wxTreeCtrl::OnPaint(event);
if (! m_drawRowLines)
return;
// Reset the device origin since it may have been set
dc.SetDeviceOrigin(0, 0);
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
dc.SetPen(pen);
dc.SetBrush(* wxTRANSPARENT_BRUSH);
wxSize clientSize = GetClientSize();
wxRect itemRect;
int cy=0;
wxTreeItemId h, lastH;
for(h=GetFirstVisibleItem();h;h=GetNextVisible(h))
{
if (GetBoundingRect(h, itemRect))
{
cy = itemRect.GetTop();
dc.DrawLine(0, cy, clientSize.x, cy);
lastH = h;
}
}
if (GetBoundingRect(lastH, itemRect))
{
cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy);
}
}
// Adjust the containing wxScrolledWindow's scrollbars appropriately
void wxRemotelyScrolledTreeCtrl::AdjustRemoteScrollbars()
{
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
if (IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
{
// This is for the generic tree control.
// It calls SetScrollbars which has been overridden
// to adjust the parent scrolled window vertical
// scrollbar.
((wxGenericTreeCtrl*) this)->AdjustMyScrollbars();
{
// This is for the generic tree control.
// It calls SetScrollbars which has been overridden
// to adjust the parent scrolled window vertical
// scrollbar.
((wxGenericTreeCtrl*) this)->AdjustMyScrollbars();
return;
}
else
}
else
#endif
{
// This is for the wxMSW tree control
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow)
{
wxRect itemRect;
if (GetBoundingRect(GetRootItem(), itemRect))
{
{
// This is for the wxMSW tree control
wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow)
{
wxRect itemRect;
if (GetBoundingRect(GetRootItem(), itemRect))
{
// Actually, the real height seems to be 1 less than reported
// (e.g. 16 instead of 16)
int itemHeight = itemRect.GetHeight() - 1;
int w, h;
GetClientSize(&w, &h);
int w, h;
GetClientSize(&w, &h);
wxRect rect(0, 0, 0, 0);
CalcTreeSize(rect);
wxRect rect(0, 0, 0, 0);
CalcTreeSize(rect);
double f = ((double) (rect.GetHeight()) / (double) itemHeight) ;
int treeViewHeight = (int) ceil(f);
int scrollPixelsPerLine = itemHeight;
int scrollPos = - (itemRect.y / itemHeight);
int scrollPixelsPerLine = itemHeight;
int scrollPos = - (itemRect.y / itemHeight);
scrolledWindow->SetScrollbars(0, scrollPixelsPerLine, 0, treeViewHeight, 0, scrollPos);
scrolledWindow->SetScrollbars(0, scrollPixelsPerLine, 0, treeViewHeight, 0, scrollPos);
// Ensure that when a scrollbar becomes hidden or visible,
// the contained window sizes are right.
// Problem: this is called too early (?)
wxSizeEvent event(scrolledWindow->GetSize(), scrolledWindow->GetId());
scrolledWindow->GetEventHandler()->ProcessEvent(event);
}
}
}
// Ensure that when a scrollbar becomes hidden or visible,
// the contained window sizes are right.
// Problem: this is called too early (?)
wxSizeEvent event(scrolledWindow->GetSize(), scrolledWindow->GetId());
scrolledWindow->GetEventHandler()->ProcessEvent(event);
}
}
}
}
@@ -318,40 +367,40 @@ static wxRect CombineRectangles(const wxRect& rect1, const wxRect& rect2)
// correctly
void wxRemotelyScrolledTreeCtrl::CalcTreeSize(wxRect& rect)
{
CalcTreeSize(GetRootItem(), rect);
CalcTreeSize(GetRootItem(), rect);
}
void wxRemotelyScrolledTreeCtrl::CalcTreeSize(const wxTreeItemId& id, wxRect& rect)
{
// More efficient implementation would be to find the last item (but how?)
// Q: is the bounding rect relative to the top of the virtual tree workspace
// or the top of the window? How would we convert?
wxRect itemSize;
if (GetBoundingRect(id, itemSize))
{
rect = CombineRectangles(rect, itemSize);
}
// More efficient implementation would be to find the last item (but how?)
// Q: is the bounding rect relative to the top of the virtual tree workspace
// or the top of the window? How would we convert?
wxRect itemSize;
if (GetBoundingRect(id, itemSize))
{
rect = CombineRectangles(rect, itemSize);
}
long cookie;
wxTreeItemId childId = GetFirstChild(id, cookie);
while (childId != 0)
{
CalcTreeSize(childId, rect);
childId = GetNextChild(childId, cookie);
}
long cookie;
wxTreeItemId childId = GetFirstChild(id, cookie);
while (childId != 0)
{
CalcTreeSize(childId, rect);
childId = GetNextChild(childId, cookie);
}
}
// Find the scrolled window that contains this control
wxScrolledWindow* wxRemotelyScrolledTreeCtrl::GetScrolledWindow() const
{
wxWindow* parent = wxWindow::GetParent();
while (parent)
{
if (parent->IsKindOf(CLASSINFO(wxScrolledWindow)))
return (wxScrolledWindow*) parent;
parent = parent->GetParent();
}
return NULL;
wxWindow* parent = wxWindow::GetParent();
while (parent)
{
if (parent->IsKindOf(CLASSINFO(wxScrolledWindow)))
return (wxScrolledWindow*) parent;
parent = parent->GetParent();
}
return NULL;
}
void wxRemotelyScrolledTreeCtrl::OnScroll(wxScrollWinEvent& event)
@@ -381,78 +430,78 @@ void wxRemotelyScrolledTreeCtrl::OnScroll(wxScrollWinEvent& event)
IMPLEMENT_CLASS(wxTreeCompanionWindow, wxWindow)
BEGIN_EVENT_TABLE(wxTreeCompanionWindow, wxWindow)
EVT_PAINT(wxTreeCompanionWindow::OnPaint)
EVT_SCROLLWIN(wxTreeCompanionWindow::OnScroll)
EVT_TREE_ITEM_EXPANDED(-1, wxTreeCompanionWindow::OnExpand)
EVT_TREE_ITEM_COLLAPSED(-1, wxTreeCompanionWindow::OnExpand)
EVT_PAINT(wxTreeCompanionWindow::OnPaint)
EVT_SCROLLWIN(wxTreeCompanionWindow::OnScroll)
EVT_TREE_ITEM_EXPANDED(-1, wxTreeCompanionWindow::OnExpand)
EVT_TREE_ITEM_COLLAPSED(-1, wxTreeCompanionWindow::OnExpand)
END_EVENT_TABLE()
wxTreeCompanionWindow::wxTreeCompanionWindow(wxWindow* parent, wxWindowID id,
const wxPoint& pos,
const wxSize& sz,
long style):
wxWindow(parent, id, pos, sz, style)
wxWindow(parent, id, pos, sz, style)
{
m_treeCtrl = NULL;
m_treeCtrl = NULL;
}
void wxTreeCompanionWindow::DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect)
{
// TEST CODE
// TEST CODE
#if 1
if (m_treeCtrl)
{
wxString text = m_treeCtrl->GetItemText(id);
dc.SetTextForeground(* wxBLACK);
dc.SetBackgroundMode(wxTRANSPARENT);
if (m_treeCtrl)
{
wxString text = m_treeCtrl->GetItemText(id);
dc.SetTextForeground(* wxBLACK);
dc.SetBackgroundMode(wxTRANSPARENT);
int textW, textH;
dc.GetTextExtent(text, & textW, & textH);
int textW, textH;
dc.GetTextExtent(text, & textW, & textH);
int x = 5;
int y = rect.GetY() + wxMax(0, (rect.GetHeight() - textH) / 2);
int x = 5;
int y = rect.GetY() + wxMax(0, (rect.GetHeight() - textH) / 2);
dc.DrawText(text, x, y);
}
dc.DrawText(text, x, y);
}
#endif
}
void wxTreeCompanionWindow::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
wxPaintDC dc(this);
if (!m_treeCtrl)
return;
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
dc.SetPen(pen);
dc.SetBrush(* wxTRANSPARENT_BRUSH);
wxFont font(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
dc.SetFont(font);
dc.SetPen(pen);
dc.SetBrush(* wxTRANSPARENT_BRUSH);
wxFont font(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
dc.SetFont(font);
wxSize clientSize = GetClientSize();
wxRect itemRect;
int cy=0;
wxTreeItemId h, lastH;
for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h))
{
if (m_treeCtrl->GetBoundingRect(h, itemRect))
{
cy = itemRect.GetTop();
wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight());
wxRect itemRect;
int cy=0;
wxTreeItemId h, lastH;
for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h))
{
if (m_treeCtrl->GetBoundingRect(h, itemRect))
{
cy = itemRect.GetTop();
wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight());
lastH = h;
lastH = h;
// Draw the actual item
DrawItem(dc, h, drawItemRect);
dc.DrawLine(0, cy, clientSize.x, cy);
}
}
if (lastH.IsOk() && m_treeCtrl->GetBoundingRect(lastH, itemRect))
{
cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy);
}
// Draw the actual item
DrawItem(dc, h, drawItemRect);
dc.DrawLine(0, cy, clientSize.x, cy);
}
}
if (lastH.IsOk() && m_treeCtrl->GetBoundingRect(lastH, itemRect))
{
cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy);
}
}
void wxTreeCompanionWindow::OnScroll(wxScrollWinEvent& event)
@@ -466,15 +515,15 @@ void wxTreeCompanionWindow::OnScroll(wxScrollWinEvent& event)
if (!m_treeCtrl)
return;
// TODO: scroll the window physically instead of just refreshing.
Refresh(TRUE);
// TODO: scroll the window physically instead of just refreshing.
Refresh(TRUE);
}
void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event)
{
// TODO: something more optimized than simply refresh the whole
// window when the tree is expanded/collapsed. Tricky.
Refresh();
// TODO: something more optimized than simply refresh the whole
// window when the tree is expanded/collapsed. Tricky.
Refresh();
}
/*
@@ -484,7 +533,7 @@ void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event)
IMPLEMENT_CLASS(wxThinSplitterWindow, wxSplitterWindow)
BEGIN_EVENT_TABLE(wxThinSplitterWindow, wxSplitterWindow)
EVT_SIZE(wxThinSplitterWindow::OnSize)
EVT_SIZE(wxThinSplitterWindow::OnSize)
END_EVENT_TABLE()
wxThinSplitterWindow::wxThinSplitterWindow(wxWindow* parent, wxWindowID id,
@@ -497,9 +546,9 @@ wxThinSplitterWindow::wxThinSplitterWindow(wxWindow* parent, wxWindowID id,
void wxThinSplitterWindow::SizeWindows()
{
// The client size may have changed inbetween
// the sizing of the first window and the sizing of
// the second. So repeat SizeWindows.
// The client size may have changed inbetween
// the sizing of the first window and the sizing of
// the second. So repeat SizeWindows.
wxSplitterWindow::SizeWindows();
wxSplitterWindow::SizeWindows();
}
@@ -507,7 +556,7 @@ void wxThinSplitterWindow::SizeWindows()
// Tests for x, y over sash
bool wxThinSplitterWindow::SashHitTest(int x, int y, int tolerance)
{
return wxSplitterWindow::SashHitTest(x, y, 4);
return wxSplitterWindow::SashHitTest(x, y, 4);
}
void wxThinSplitterWindow::DrawSash(wxDC& dc)
@@ -520,34 +569,34 @@ void wxThinSplitterWindow::DrawSash(wxDC& dc)
int w, h;
GetClientSize(&w, &h);
if ( m_splitMode == wxSPLIT_VERTICAL )
{
dc.SetPen(* m_facePen);
dc.SetBrush(* m_faceBrush);
int h1 = h-1;
int y1 = 0;
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
h1 += 1; // Not sure why this is necessary...
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
{
y1 = 2; h1 -= 3;
}
dc.DrawRectangle(m_sashPosition, y1, m_sashSize, h1);
}
else
{
dc.SetPen(* m_facePen);
dc.SetBrush(* m_faceBrush);
int w1 = w-1;
int x1 = 0;
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
w1 ++;
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
{
x1 = 2; w1 -= 3;
}
dc.DrawRectangle(x1, m_sashPosition, w1, m_sashSize);
}
if ( m_splitMode == wxSPLIT_VERTICAL )
{
dc.SetPen(* m_facePen);
dc.SetBrush(* m_faceBrush);
int h1 = h-1;
int y1 = 0;
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
h1 += 1; // Not sure why this is necessary...
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
{
y1 = 2; h1 -= 3;
}
dc.DrawRectangle(m_sashPosition, y1, m_sashSize, h1);
}
else
{
dc.SetPen(* m_facePen);
dc.SetBrush(* m_faceBrush);
int w1 = w-1;
int x1 = 0;
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
w1 ++;
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
{
x1 = 2; w1 -= 3;
}
dc.DrawRectangle(x1, m_sashPosition, w1, m_sashSize);
}
dc.SetPen(wxNullPen);
dc.SetBrush(wxNullBrush);
@@ -555,7 +604,7 @@ void wxThinSplitterWindow::DrawSash(wxDC& dc)
void wxThinSplitterWindow::OnSize(wxSizeEvent& event)
{
wxSplitterWindow::OnSize(event);
wxSplitterWindow::OnSize(event);
}
/*
@@ -565,8 +614,8 @@ void wxThinSplitterWindow::OnSize(wxSizeEvent& event)
IMPLEMENT_CLASS(wxSplitterScrolledWindow, wxScrolledWindow)
BEGIN_EVENT_TABLE(wxSplitterScrolledWindow, wxScrolledWindow)
EVT_SCROLLWIN(wxSplitterScrolledWindow::OnScroll)
EVT_SIZE(wxSplitterScrolledWindow::OnSize)
EVT_SCROLLWIN(wxSplitterScrolledWindow::OnScroll)
EVT_SIZE(wxSplitterScrolledWindow::OnSize)
END_EVENT_TABLE()
wxSplitterScrolledWindow::wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id,
@@ -579,11 +628,11 @@ wxSplitterScrolledWindow::wxSplitterScrolledWindow(wxWindow* parent, wxWindowID
void wxSplitterScrolledWindow::OnSize(wxSizeEvent& event)
{
wxSize sz = GetClientSize();
if (GetChildren().First())
{
((wxWindow*) GetChildren().First()->Data())->SetSize(0, 0, sz.x, sz.y);
}
wxSize sz = GetClientSize();
if (GetChildren().First())
{
((wxWindow*) GetChildren().First()->Data())->SetSize(0, 0, sz.x, sz.y);
}
}
void wxSplitterScrolledWindow::OnScroll(wxScrollWinEvent& event)

View File

@@ -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();
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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; }

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
DbbrowseM*Data
dbbrowseM5.mcp
dbbrowseM*Data
*Classic?Debug*
*Classic?Release*
*Carbon?Debug*

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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

View File

@@ -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 $@

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
View 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
View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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
--------------------------

View File

@@ -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.}

View File

@@ -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

View File

@@ -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}}

View File

@@ -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}.}

View File

@@ -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
View 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.

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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.}

View File

@@ -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}

View File

@@ -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}

View File

@@ -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.

View File

@@ -1,10 +1,13 @@
--
-- File: BuildSamplesM5.as
-- Purpose: Automatic build of samples with CodeWarrior 5
-- Author: Gilles Depeyrot
-- Created: 06.10.2001
--
-----------------------------------------------------------------------------
-- 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,51 +111,56 @@ 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
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
write "building project '" & theProject & "'" & gEol to inLogFileRef
tell application "CodeWarrior IDE 4.0.4"
--
-- Open the project in CodeWarrior
--
open theProject
--
-- Change to the requested target
--
Set Current Target inTarget
--
-- Remove object code if rebuild requested
--
if inRebuild then
Remove Binaries
end if
--
-- Build/Rebuild the selected target
--
set theBuildInfo to Make Project with ExternalEditor
--
-- Close the project
--
Close Project
end tell
--
-- Report errors to build log file
--
write gEol to inLogFileRef
ReportBuildInfo(inLogFileRef, theBuildInfo)
write gSeparator to inLogFileRef
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
tell application "Finder" to set theProject to (the first file of theFolder whose name ends with gProjectSuffix)
if theProject as string is not "" then
set theProjectCount to theProjectCount + 1
write "building project '" & (theProject as string) & "'" & gEol to inLogFileRef
tell application "CodeWarrior IDE 4.0.4"
--
-- Open the project in CodeWarrior
--
open theProject as string
--
-- Change to the requested target
--
Set Current Target inTarget
--
-- Remove object code if rebuild requested
--
if inRebuild then
Remove Binaries
end if
--
-- Build/Rebuild the selected target
--
set theBuildInfo to Make Project with ExternalEditor
--
-- Close the project
--
Close Project
end tell
--
-- Report errors to build log file
--
write gEol to inLogFileRef
ReportBuildInfo(inLogFileRef, theBuildInfo)
write gSeparator to inLogFileRef
else
BuildProjects(inLogFileRef, theFolder, inTarget, inRebuild)
end if
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

View 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

View 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

View File

@@ -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

View File

@@ -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
------------------------

View File

@@ -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.

View File

@@ -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:

View File

@@ -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

View File

@@ -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
View 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

View File

@@ -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
View 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.

View File

@@ -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."

View File

@@ -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

View File

@@ -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

View File

@@ -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 };

View File

@@ -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);
@@ -197,8 +197,8 @@ WXDLLEXPORT bool wxExpandPath(wxString& dest, const wxChar *path);
// and make (if under the home tree) relative to home
// [caller must copy-- volatile]
WXDLLEXPORT wxChar* wxContractPath(const wxString& filename,
const wxString& envname = wxEmptyString,
const wxString& user = wxEmptyString);
const wxString& envname = wxEmptyString,
const wxString& user = wxEmptyString);
// Destructive removal of /./ and /../ stuff
WXDLLEXPORT wxChar* wxRealPath(wxChar *path);
@@ -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

View File

@@ -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;

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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);

View File

@@ -396,12 +396,21 @@
// 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_POPUPWIN 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

View File

@@ -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