Compare commits

...

206 Commits

Author SHA1 Message Date
Bryan Petty
11b1694b60 Tagged 2.8.9 release from r55637 of WX_2_8_BRANCH.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_8_9@55885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-25 18:01:18 +00:00
Chris Elliott
8d4ecc7aca 2.8.9 ready
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-15 08:00:00 +00:00
Chris Elliott
027c53b163 2.8.9 ready
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-15 07:58:49 +00:00
Vadim Zeitlin
26a1755583 don't steal focus back to wxGrid when it hides an editor in the result of losing it (#9844)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-15 00:28:15 +00:00
Vadim Zeitlin
009605231a fix drawing of the column move hint when the grid is scrolled to the right (#9776)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-15 00:19:41 +00:00
Vadim Zeitlin
443fb14a30 only request Enter key for the spin control if it has wxTE_PROCESS_ENTER style [partial backport of r55617 from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 19:56:14 +00:00
Jaakko Salli
eeddd5583c Workaround for VC6 IDE internal compiler error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 10:00:09 +00:00
Vadim Zeitlin
3b2f059d98 fix the event type in EVT_GRID_[CMD_]COL_MOVE declaration: this event handler receives wxGridEvent and not wxGridSizeEvent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-12 12:49:11 +00:00
Václav Slavík
2ee6af03cb wxDir/FilePickerCtrl's message should be translatable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-09 19:36:41 +00:00
Benjamin Williams
b8c38c4509 fix aui sample breakage; added some accessor methods to wxAuiToolBarItem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-08 09:54:28 +00:00
Vadim Zeitlin
f29fe86a76 oops, fixed Mac header name incorrectly copied from trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-07 18:38:38 +00:00
Vadim Zeitlin
3ba967c80b added UnsetToolTip() and use it in wxAUI code to fix wxX11 compilation [backport of r55269 from trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-07 17:09:38 +00:00
Vadim Zeitlin
b8e40fb308 fix wxUniv compilation by not using obsolete wxMenuItem ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-07 17:04:23 +00:00
Julian Smart
c02398c6f2 Fixed Cmd+Back, Cmd+Del word deletion behaviour in wxRichTextCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-07 15:35:11 +00:00
Václav Slavík
a8e65f2336 whatever it is, wxXmlResource::GetFirstRoot() isn't implemented - removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-07 09:15:46 +00:00
Paul Cornett
1438596e5d fix memory leak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-05 16:59:23 +00:00
Vadim Zeitlin
4f547123b6 emphasize that mingw32-make and not MSYS make must be used to build using makefile.gcc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-04 23:02:44 +00:00
Vadim Zeitlin
9353f8892e copy alpha presence flag when copying bitmaps using DIBs (#9883)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 20:45:52 +00:00
Benjamin Williams
f100df9bf6 fix small logic error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 17:41:46 +00:00
Benjamin Williams
d9f2f5d145 fixed a problem in the aui toolbar flags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 14:43:05 +00:00
Benjamin Williams
93f6cd7984 make members private in various wxAuiToolBar helper classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 12:38:09 +00:00
Vadim Zeitlin
7fd10fa2d7 include wx/control.h for the base class declaration (part of #9931)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 07:28:03 +00:00
Vadim Zeitlin
dd36bd26da use {short,long}_help_string parameters of AddTool() (part of #9931)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-02 17:01:40 +00:00
Chris Elliott
2a493911d8 up to 2.8.9rc1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-02 08:29:49 +00:00
Chris Elliott
9159b2722e 2.8.9-rc1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-01 10:41:35 +00:00
Chris Elliott
ec8237456c need to get the correct bitmaps for future releases
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-01 08:57:53 +00:00
Václav Slavík
02cfa300e7 fixed memory corruption in wxHTML when parsing '&;' in the markup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-31 13:59:55 +00:00
Vadim Zeitlin
702026dab5 copy both alpha and mask in Paste() (#9658) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-30 13:18:33 +00:00
Stefan Csomor
04f1d418f6 fixing #9910
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-27 08:21:09 +00:00
Vadim Zeitlin
7ac410e8b7 update version script for wxAUI additions; use wxABI_VERSION check around the new wxAuiToolBar class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 12:35:18 +00:00
Chris Elliott
893ffe7482 2.8.9 ready for rc-1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 10:02:42 +00:00
Chris Elliott
79a0cca038 2.8.9 ready for rc-1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 09:56:44 +00:00
Chris Elliott
1588bf86f4 2.8.9 ready for rc-1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 09:53:45 +00:00
Chris Elliott
bb9ba5a815 2.8.9 ready for rc-1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 09:53:00 +00:00
Paul Cornett
0ab2444233 fix for GTK assertion `info->icon_pixmap == NULL' failed, #9905
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 05:10:45 +00:00
Vadim Zeitlin
f46874b01f allow periods in wxFileSystem URL anchors (patch #2265) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 00:03:04 +00:00
Vadim Zeitlin
3053ecbd72 add parentheses for && inside || to fix g++ 4.3 warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-25 14:39:48 +00:00
Vadim Zeitlin
f837582af4 fix a couple of harmless warnings reported by g++ 4.3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-25 14:39:11 +00:00
Vadim Zeitlin
d4e889f3c7 fix a couple of harmless warnings reported by g++ 4.3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-25 14:34:23 +00:00
Benjamin Williams
dc0071da65 updated for wxAUI changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-25 11:38:06 +00:00
Kevin Ollivier
ceaf599d64 Respect the wxNO_BORDER flag for tool windows without a titlebar.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-25 04:27:59 +00:00
Kevin Ollivier
68db272e35 Fix memory leak.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-25 03:01:14 +00:00
Robin Dunn
d774a149d5 64-bit compile fixes.
NOTE: These changes are done by hand and will need to be redone after rebaking the 
files, until the next version of bakefile is ready.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-24 04:14:45 +00:00
Robin Dunn
7bdd98dc13 64-bit compile fixes, turn off optimizations in GetCustomDrawnItemRect to avoid an ICE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-24 04:11:04 +00:00
Robin Dunn
21182a4762 64-bit compile fixes, cleanup and use GetTimeZoneInformation for Windows compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-24 04:08:10 +00:00
Robin Dunn
be33ac8477 64-bit compile fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-24 04:06:41 +00:00
Vadim Zeitlin
62b8f1fc35 use tr1::unordered_{map,set} if available for wxHash{Map,Set} in STL build (#9532) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 18:54:04 +00:00
Vadim Zeitlin
60e82f36d3 optimize wxGrid::BlockToDeviceRect() to avoid iterating over all cells, it's enough to only iterate over the visible ones (#9527) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 18:47:48 +00:00
Vadim Zeitlin
7abb1a56f1 implement wxWinINetInputStream::GetSize() (#9600) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 18:44:03 +00:00
Vadim Zeitlin
1c802b3b14 don't use BS_AUTORADIOBUTTON at all, BS_RADIOBUTTON works just as well and doesn't hang the application in some circumstances (#9786) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 18:38:24 +00:00
Vadim Zeitlin
3b14cd750c always define wxUSE_RICHEDIT[2] -- this is better than never defining them (#9514) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 18:30:30 +00:00
Vadim Zeitlin
a2170565cb fix warnings about passing double as unsigned char
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 18:17:49 +00:00
Vadim Zeitlin
d060ae855f fix changing font/colour of label in buttons with images (#3939) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 18:17:12 +00:00
Vadim Zeitlin
e3959a350e don't reserve space for the icons if none are used, even if we're in icon view (#9472) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 17:53:37 +00:00
Vadim Zeitlin
76ae7f748b handle FNERR_INVALIDFILENAME which happens if an invalid file name is passed to wxFileDialog (#9688) [backport from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 17:49:04 +00:00
Vadim Zeitlin
e50f48d518 use wx_static_cast() instead of static_cast<> on an off chance that some compiler still doesn't have the latter; fix svn properties for the new file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 16:19:16 +00:00
Robert Roebling
a4c76fe11e wxComboCtrlBase::Enable() does not refresh the control #9900
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 08:20:00 +00:00
Benjamin Williams
2e6e6e6641 add missing header for WXMAC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 07:57:05 +00:00
Benjamin Williams
5e4a7d7825 fix header problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 07:24:10 +00:00
Benjamin Williams
fd19a674ad rebaked because of auibar.*
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 06:37:17 +00:00
Benjamin Williams
441b14b09c updated aui sample with new toolbar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 06:35:01 +00:00
Benjamin Williams
5875590747 added wxAuiToolBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-23 06:31:01 +00:00
Julian Smart
c5301893b2 Documented wxRTC fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-22 15:22:58 +00:00
Julian Smart
f493fe3249 Improved auto list numbering
Fixed selection bugs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-22 15:21:13 +00:00
Julian Smart
2e1ff9a2df Typo corrections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-22 14:00:39 +00:00
Stefan Csomor
34785fc861 routing SetTitle to SetLabel as MSW does, fixing potential zombie pointers after mouse down events which delete windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-22 13:08:41 +00:00
Julian Smart
1bf1c271b3 Generic caret no longer invisible on a dark background
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-22 10:34:32 +00:00
Julian Smart
cdcd2013d1 Improved style list size calculations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-22 10:08:53 +00:00
Vadim Zeitlin
e87b77933f don't always create DIBs in wxBitmap(wxImage) ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 20:43:48 +00:00
Václav Slavík
dbcb86a4dc fixed typo in 2.8 backport of MSW print preview fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 20:42:40 +00:00
Julian Smart
833770ca91 Fixed default margin sizes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 16:07:54 +00:00
Stefan Csomor
3f69d4b904 using the 'new' bottleneck methods, fixing bugreport from Bengt Nilsson <bengt.nilsson11@spray.se>
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 08:56:50 +00:00
Václav Slavík
49ad7c5115 fixed scaling of print preview if there's not enough RAM for the full page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-20 21:59:10 +00:00
Stefan Csomor
b43a0635a2 fixing leak in the 'old' non-graphics code, thanks to Kevin
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-19 04:50:45 +00:00
Vadim Zeitlin
8c42541999 fix MSVC warning about int->bool conversion introduced by r55113
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-18 20:04:58 +00:00
Vadim Zeitlin
ba7ef3304e paint the space remaining after the columns too in wxListHeaderWindow::OnPaint() (#9855)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-18 12:02:01 +00:00
Vadim Zeitlin
4f3118c4b2 use CLSCTX_ALL instead of CLSCTX_LOCAL_SERVER in CreateInstance() (#9868)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-18 11:57:55 +00:00
Vadim Zeitlin
cc68a5bd69 add comparison operators for UUID class (#9871)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-18 11:30:10 +00:00
Bryan Petty
0930be303a Backported r45754 to 2.8 branch closing #4785.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-16 02:46:05 +00:00
Paul Cornett
c53016953a fix for page change not working after veto, #3808
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-15 04:52:13 +00:00
Vadim Zeitlin
7de0d6637c fix typo in __WWXMAC__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-13 12:31:13 +00:00
Václav Slavík
d1fcc2c2c7 apply Stefan's fix for wxHtmlDCRenderer clipping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-12 16:02:31 +00:00
Václav Slavík
89e59df375 fixed alphabetical order
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-12 15:49:30 +00:00
Robin Dunn
9fae82ec59 Use WXUNUSED and give more explaination for the handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 20:52:26 +00:00
Robin Dunn
46205f5352 Avoid default child window focus behavior in generic wxListCtrl. Fixes #9563
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 00:25:05 +00:00
Vadim Zeitlin
eaafc5e972 correct the bug with Replace()ing with empty string introduced by r54860 (re-fixes #9802)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-09 20:34:36 +00:00
Robin Dunn
ad48736221 Bump subrelease number
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-08 05:09:54 +00:00
Julian Smart
307c2b253f Fixed scrolling problem where scrollbar was taken to be a valid child window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-07 15:58:51 +00:00
Julian Smart
e3cdca140e Fix from John Dallaway for jumping to the top when expanding/collapsing items.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@55007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-07 09:29:54 +00:00
Stefan Csomor
54fa957a48 fixing remainder of bug #3776, clean activateAndIgnoreClick behaviour for DataBrowser
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-05 17:55:14 +00:00
Julian Smart
c91aeed0a8 Allow small widths when setting initial strings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-04 15:33:13 +00:00
Benjamin Williams
62e1396736 fix mouse capture lost assert when dialog shown in tab change event handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 13:57:30 +00:00
Vadim Zeitlin
00a6c15a74 fix view rectangle calculation for the control with scrollbars (#9467)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 12:15:30 +00:00
Vadim Zeitlin
8679c16313 make SetValidator() symmetric with GetValidator() (#9793)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 11:12:58 +00:00
Vadim Zeitlin
7bd43065b4 compilation fix for PCH-less build after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 10:54:33 +00:00
Vadim Zeitlin
9530dade7c store palette information from XPM in wxImage (#9763)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 10:31:07 +00:00
Benjamin Williams
c57f3188ff fix segfault when Update() is called inbetween mouse-up and mouse-down
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 09:46:32 +00:00
Vadim Zeitlin
71fd0e9fa9 don't keep the transparent palette colour from the previous frame for the next one which may not have any transparency at all (#9747)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 00:36:52 +00:00
Vadim Zeitlin
81b8e40161 add support for reading alpha channel from BMP images (#9741)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-03 00:23:38 +00:00
Vadim Zeitlin
40f1280e0d fix keyboard navigation in radio boxes containing hidden or disabled items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 19:45:23 +00:00
Vadim Zeitlin
7e8f47db5e ensure that one of wxRA_SPECIFY_{COLS,ROWS} is set in the radiobox style, otherwise layout code doesn't work correctly and this can easily happen if the radiobox is created from an XRC file not specifying its style at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 15:59:13 +00:00
Stefan Csomor
bc217fe9dc guarding all text methods against unset font
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 06:31:46 +00:00
Benjamin Williams
49d9fc10e4 added a number of NULL ptr asserts (#4145)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 21:04:03 +00:00
Benjamin Williams
469342afaa fix for defect #4827
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 18:58:47 +00:00
Benjamin Williams
c8dfe1e82b fix for ticket #4505, Floatable(false) wasn't working in all cases
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 18:35:08 +00:00
Benjamin Williams
2d1590a4bb floating pane now respects IsFixed pane status; indirect fix for #4044
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 16:07:46 +00:00
Julian Smart
85f0ca4cdf Fix for Vista splittree problem, by John Dallaway
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 10:51:37 +00:00
Vadim Zeitlin
0babb5fa2a fix setting the initial value when it's not in the default 0..100 range [backport of r53550 from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-30 21:53:26 +00:00
Vadim Zeitlin
f7d2f0f9e7 optimize Replace() for the common case of replacing one character with another one (#9802)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-30 21:41:07 +00:00
Julian Smart
ef00e5367e Take on appropriate paragraph style in the newly created paragraph.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 13:22:50 +00:00
Vadim Zeitlin
f770962e9e updated Hindi translations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 13:09:42 +00:00
Paul Cornett
9c521e0003 build fix for wxMac with wxUSE_THREADS==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-28 16:58:25 +00:00
Paul Cornett
b65ce02c69 fix Gtk-WARNING "... no property named `row-ending-details'" (#4809)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-28 05:49:04 +00:00
Stefan Csomor
d6ba5a24d8 extending docs according #9713
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-26 09:13:27 +00:00
Vadim Zeitlin
23512f453f fix crash when reading malformed PCX images (#3836)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-22 20:16:03 +00:00
Stefan Csomor
2c02248f15 trying to fix dnd problems leopard refs #9748
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-22 15:41:53 +00:00
Stefan Csomor
cfb265f172 trying to fix dnd problems with the unicodetextcontrol under leopard refs #9748
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-22 14:53:24 +00:00
Václav Slavík
b2a8de5a15 Fixed detection of Meta key state so that NumLock isn't misdetected as Meta.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 22:09:22 +00:00
Vadim Zeitlin
f671cd5668 another compilation fix for wxDFB STL build (#9754)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 17:34:48 +00:00
Vadim Zeitlin
c712f3a701 compilation fix for wxDFB STL build (#9753)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 17:17:20 +00:00
Vadim Zeitlin
88ec1a0722 fix wxDFB compilation without wxUSE_LOG (#9752)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 17:14:32 +00:00
Vadim Zeitlin
95a695cd54 compilation fix for wxDFB STL build (#9751)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 17:05:14 +00:00
Vadim Zeitlin
b792497e3c add missing headers for wxDFB cross-build (#9770)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 17:01:35 +00:00
Vadim Zeitlin
51157e65e8 add missing trailing quote in a #warning (#9769)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 16:58:06 +00:00
Stefan Csomor
305a46fd55 fix for #9045
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 15:27:11 +00:00
Robin Dunn
db8472d601 2.8.8.1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 05:34:56 +00:00
Vadim Zeitlin
1b8cb9ac59 don't call gtk_selection_data_set_text() with non-UTF-8 data as we did in ANSI build (#2037)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 03:39:40 +00:00
Vadim Zeitlin
5b774e5249 fix generation of events for an initially empty wxDirPickerCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-20 22:48:34 +00:00
Vadim Zeitlin
239aad9461 add a missing backslash (#9766)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-20 12:37:20 +00:00
Vadim Zeitlin
f90b293de6 already escaped backslash shouldn't escape the following quote in ConvertStringToArgs()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-19 01:53:04 +00:00
Vadim Zeitlin
23c883b71a fix bug with wxCSConv("ASCII")
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-19 01:45:38 +00:00
Vadim Zeitlin
c64b101c34 backport fix for wxCSConv(wxFONTENCODING_SYSTEM) creation from trunk: use system encoding for DoCreate(), not name which is not handled correctly for ASCII case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-19 01:34:36 +00:00
Vadim Zeitlin
55bef83fe0 return ISO8859-1 from wxLocale::GetSystemEncoding() for C locale, as in trunk, otherwise wxCSConv with default encoding doesn't work at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-19 00:32:57 +00:00
Vadim Zeitlin
2c6ca6f1fa mention compatibility implications of wxExecute() quoting changes; don't change quoting of already quoted arguments in 2.8 for compatibility; also fix handling of empty arguments as a side effect (see #4115)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-18 22:22:16 +00:00
Vadim Zeitlin
141d3d9563 remove duplicate SetIcon(sample_xpm) call which didn't even compile under MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-18 13:56:25 +00:00
Julian Smart
b71d96c5d4 Tab removal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-18 12:55:14 +00:00
Michael Wetherell
1cdcc99947 Fix gzip class factory to return gzip not zlib stream.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-18 08:06:44 +00:00
Paul Cornett
8ea3ec21dc fix masking of disabled bitmaps with some themes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-18 02:45:48 +00:00
Vadim Zeitlin
2821d49f4c overwrite incorrect last commit (which did exactly what its comment said it couldn't do as it was breaking ABI compaitiblity...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-17 20:03:11 +00:00
Vadim Zeitlin
f4727ef952 use int32 values in invalid wxDateTime ctor after r54663 fixes to wxLongLong under LP64 platforms (unfortunately we can't do the same thing as in trunk as this would break ABI because default-constructed wxDateTime objects in the programs compiled against old headers would become different from the ones defined in the new library)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-17 19:59:02 +00:00
Vadim Zeitlin
649aee2a92 implement wxCSConv::From/ToWChar() correctly for Latin-1 (#9739)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-17 19:43:08 +00:00
Vadim Zeitlin
71d4b88bdf allow using SetFont(wxNullFont) to reset the font as per documented behaviour (#3238)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 15:53:44 +00:00
Vadim Zeitlin
063b161dec fix wxLongLong for LP64 platforms [backport of r45256 from trunk] (#9745)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 15:22:22 +00:00
Vadim Zeitlin
6169b1f960 disable the test declarations and not just the definitions if we don't have strtoll()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 03:02:19 +00:00
Vadim Zeitlin
f5482726ac disable test which doesn't work without setenv()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 02:59:37 +00:00
Vadim Zeitlin
ac706d114d fix a typo in wxUSE_UNICODE test when choosing between strtoull and wcstoull; include wchar.h when testing for the latter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 02:39:03 +00:00
Vadim Zeitlin
64ec9666a6 disable the test if we have no strtoll()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 02:30:40 +00:00
Vadim Zeitlin
79c723cb5e fix signed/unsigned comparison warning by using CPPUNIT_ASSERT_EQUAL instead of CPPUNIT_ASSERT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 02:19:03 +00:00
Vadim Zeitlin
bc26d147ac removed a test which doesn't really work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 02:18:01 +00:00
Vadim Zeitlin
6cc415390f backport fixes for the fix for transparency in static bitmaps (r51824) from trunk (r54651 and r54652)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-16 01:54:58 +00:00
Julian Smart
c5c703efea Fixed wxTreebook tree control border style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-15 21:29:10 +00:00
Vadim Zeitlin
f89a4c2df5 fix changing size of merged cells (#9736)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-15 14:36:28 +00:00
Julian Smart
c7739476c7 Documented wxRTC fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-14 10:00:21 +00:00
Vadim Zeitlin
ba4fb41424 fix heap corruption bug: use delete[] to delete a buffer allocated with new[], not delete
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-14 02:34:29 +00:00
Vadim Zeitlin
e95308c0ae set wxKeyEvent::m_uniChar correctly in the events generated by generic wxListCtrl (#4581)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-13 18:16:38 +00:00
Julian Smart
f8ae0bd260 Shift+Return now puts the cursor on the next line
Fixed GetContiguousPlainText bug that caused wrapping problem


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-13 12:11:36 +00:00
Robin Dunn
2b0ff79bb6 Bump subrelease number
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-10 01:33:28 +00:00
Robin Dunn
aae461d4ff If an item is hidden, don't check it for overflows.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-10 01:32:23 +00:00
Stefan Neis
1989629a23 Applied fix for wxGrid::ClearAttrCache (#9712).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-09 17:25:32 +00:00
Vadim Zeitlin
8827d7b444 unescape the value of wxHyperlinkCtrl label (#9683)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-09 14:02:19 +00:00
Vadim Zeitlin
ab6608cb9f update the year in wx information dialog (#9701)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-09 02:18:35 +00:00
Robin Dunn
01e2f8bbd1 Applied patch from Ticket #9563. Use just the rectangle of the widget with the focus when deciding if scrolling is needed, instead of the rect of the parent of the widget/child of the target window. This fixes some flickering when a panel of widgets is used inside the scrolled window, and also a total lack of scrolling if the focused widget is out of view but the upper-left corner of the panel is in view.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-09 01:38:08 +00:00
Vadim Zeitlin
5f492309e8 fix focus problems in picker controls under MSW which were due to not letting the system process kill focus for the text part of the control (#9687)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-06 23:57:23 +00:00
Stefan Neis
00687e20f5 Make AutoSizing in wxGrid's SetCol/RowSize work and use it from corresponding
AutoSize functions. This fixes #4107.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-06 16:29:58 +00:00
Vadim Zeitlin
021e69e5b0 fix unused parameters warnings (#9529)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-06 14:14:49 +00:00
Vadim Zeitlin
e21c350472 avoid duplicated command events if a wxFrame-level handler called event.Skip() (#4757)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-06 14:04:15 +00:00
Stefan Neis
fc37284dfb Added missing include (#9625).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-05 18:25:33 +00:00
Stefan Neis
3b32df32af Fixed Digital Mars breakage as suggested by Vadim on mailing list (#9619).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-05 17:54:03 +00:00
Stefan Neis
e96b728de9 Added missing include (depending on configuration, see #9622).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-05 17:38:58 +00:00
Stefan Csomor
dec0ad4bb9 changing condition to make sure we are not failing in case the min system is given as 10.3.9 ... solves #9693
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-04 14:23:38 +00:00
Julian Smart
cc8cb9c274 Typo correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-04 09:49:48 +00:00
Vadim Zeitlin
6425e8747b support disabling items before adding them to the menu (#3423)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-03 15:42:18 +00:00
Vadim Zeitlin
84ef02fea0 don't ignore changes of empty string to 0 or vice versa in float grid cells (#2802)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-03 15:37:35 +00:00
Vadim Zeitlin
dcfcdd75a7 use proper name for a contributor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-01 13:44:07 +00:00
Vadim Zeitlin
b69b11c40c quote the arguments containing spaces or quotes correctly in wxExecute(char **) overload (#4115)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-01 00:05:36 +00:00
Vadim Zeitlin
c3e7fde30f fix a hang up in wxExecute(wxArrayString& output) overload (#4380)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-30 23:37:56 +00:00
Vadim Zeitlin
11d4aa9d05 VC8 compilation fix after last change (#9665)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-30 13:35:51 +00:00
Julian Smart
c2bf832bee Further style preview fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-30 09:42:19 +00:00
Julian Smart
6586262593 Compile fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-30 09:39:44 +00:00
Vadim Zeitlin
2e312581a5 compilation fix for ASCII STL build (#9661)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 21:46:29 +00:00
Julian Smart
d9b78cd63d Corrected problem of wrong paragraph receiving style in formatting dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 17:04:04 +00:00
Stefan Neis
c3f80e6c6b Don't force ColWidth to always grow for wxGridCellAutoWrapStringRenderer (#1798)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 15:15:19 +00:00
Vadim Zeitlin
5a1a494861 ensure that GetEditControl() returns something even if label editing was started by the user and not the program (#1325) [backport of r53831 from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 01:35:24 +00:00
Vadim Zeitlin
364452f494 open the file for reading and writing in wx(F)FileStream, this class can't work otherwise (#3335) [partial backport of r54246 from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 01:28:43 +00:00
Vadim Zeitlin
180e65df2d use _get_timezone() under VC8 as _timezone is not available in all CRT versions (#4691)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 01:21:37 +00:00
Vadim Zeitlin
8aba745d1d fix crash when vetoing label edit end due to a click outside of the text control (#8947) [backport of r51149 from trunk]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 01:04:52 +00:00
Vadim Zeitlin
453c35deaf fix handling of the keys in wxSpinCtrl (#9637)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 00:50:36 +00:00
Vadim Zeitlin
10d24cc2f5 fix --disable-optimise configure option description (#9660)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 23:18:10 +00:00
Vadim Zeitlin
9bf4a4249a don't ignore changes of empty string to 0 or vice versa in float grid cells (#4764)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 23:14:35 +00:00
Václav Slavík
d9f3bf6e1b backported high-quality wxMSW printing to 2.8 (disabled by default, has to be enabled by changing wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW to 1 in prntbase.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 20:52:59 +00:00
Vadim Zeitlin
c6b44b6c88 support wxDP_ALLOWNONE in generic wxDatePickerCtrl (#3164)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 18:58:07 +00:00
Václav Slavík
4133114e30 split wxPrintPreviewBase::RenderPage() into helper methods in the same way its done on the trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 15:32:52 +00:00
Václav Slavík
9609c21f00 backport of r53980: fixed wxHTML default font size for printing to be 12pt regardless of the platform
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 15:16:17 +00:00
Vadim Zeitlin
ef87bd2ccc don't activate items on Alt-Space or Alt-Enter (#9615)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 01:49:44 +00:00
Vadim Zeitlin
54160f3c64 test for either Ctrl or Shift in MSWShouldPreProcessMessage() instead of Ctrl twice (#9620)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 01:43:26 +00:00
Vadim Zeitlin
cf92614370 don't call OnData() if OnEnter() rejected the drag (#9634)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54398 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 01:40:42 +00:00
Stefan Neis
44de0d66d2 Restricted column/row resizing in cell window to left button for consistency
with label windows and because ending the resize is only handled in
        case of LeftUp() (Fixing #4212).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 00:17:09 +00:00
Stefan Csomor
d2a6e31b73 updating help texts, fixes #9647
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-26 12:47:11 +00:00
Julian Smart
770756327c Fixed bug whereby sash would disappear beneath left-hand pane
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-26 10:55:16 +00:00
Stefan Csomor
185903c018 fixing an incorrect conversion path from utf8 to plain ascii instead of unicode, closes #9629
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-26 07:09:17 +00:00
Julian Smart
4a0b9504ee Documented filesys.no-mimetypesmanager
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-25 08:37:33 +00:00
Julian Smart
b8dd5d063d Allow an app to cut down start time by not doing unnecessary mime types initialisation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-25 08:36:30 +00:00
Julian Smart
d56ca4d3f7 WinCE compile fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-25 08:35:35 +00:00
Julian Smart
d079ccd92d Recorded GNOME MIME types fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-25 07:57:36 +00:00
Julian Smart
2b3586c1b9 Gnome Mime type fix by scanning for .desktop files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-25 07:52:11 +00:00
Julian Smart
49237f5937 Better extension extraction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@54352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-25 07:51:09 +00:00
179 changed files with 7681 additions and 2248 deletions

View File

@@ -1438,7 +1438,8 @@ AUIDLL_OBJECTS = \
auidll_dockart.o \
auidll_floatpane.o \
auidll_auibook.o \
auidll_tabmdi.o
auidll_tabmdi.o \
auidll_auibar.o
AUIDLL_ODEP = $(___pch_wxprec_auidll_wx_wxprec_h_gch___depname)
AUILIB_CXXFLAGS = $(__auilib_PCH_INC) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
@@ -1449,7 +1450,8 @@ AUILIB_OBJECTS = \
auilib_dockart.o \
auilib_floatpane.o \
auilib_auibook.o \
auilib_tabmdi.o
auilib_tabmdi.o \
auilib_auibar.o
AUILIB_ODEP = $(___pch_wxprec_auilib_wx_wxprec_h_gch___depname)
RICHTEXTDLL_CXXFLAGS = $(__richtextdll_PCH_INC) -D__WX$(TOOLKIT)__ \
$(__WXUNIV_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -3122,6 +3124,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/aui/floatpane.h \
wx/aui/auibook.h \
wx/aui/tabmdi.h \
wx/aui/auibar.h \
wx/aui/aui.h \
wx/richtext/richtextctrl.h \
wx/richtext/richtextbuffer.h \
@@ -3438,6 +3441,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \
monodll_floatpane.o \
monodll_auibook.o \
monodll_tabmdi.o \
monodll_auibar.o \
monodll_richtextctrl.o \
monodll_richtextbuffer.o \
monodll_richtextstyles.o \
@@ -5224,6 +5228,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \
monolib_floatpane.o \
monolib_auibook.o \
monolib_tabmdi.o \
monolib_auibar.o \
monolib_richtextctrl.o \
monolib_richtextbuffer.o \
monolib_richtextstyles.o \
@@ -13335,6 +13340,9 @@ monodll_auibook.o: $(srcdir)/src/aui/auibook.cpp $(MONODLL_ODEP)
monodll_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
monodll_auibar.o: $(srcdir)/src/aui/auibar.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
monodll_richtextctrl.o: $(srcdir)/src/richtext/richtextctrl.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/richtext/richtextctrl.cpp
@@ -17466,6 +17474,9 @@ monolib_auibook.o: $(srcdir)/src/aui/auibook.cpp $(MONOLIB_ODEP)
monolib_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
monolib_auibar.o: $(srcdir)/src/aui/auibar.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
monolib_richtextctrl.o: $(srcdir)/src/richtext/richtextctrl.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/richtext/richtextctrl.cpp
@@ -29112,6 +29123,9 @@ auidll_auibook.o: $(srcdir)/src/aui/auibook.cpp $(AUIDLL_ODEP)
auidll_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(AUIDLL_ODEP)
$(CXXC) -c -o $@ $(AUIDLL_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
auidll_auibar.o: $(srcdir)/src/aui/auibar.cpp $(AUIDLL_ODEP)
$(CXXC) -c -o $@ $(AUIDLL_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
auilib_framemanager.o: $(srcdir)/src/aui/framemanager.cpp $(AUILIB_ODEP)
$(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/framemanager.cpp
@@ -29127,6 +29141,9 @@ auilib_auibook.o: $(srcdir)/src/aui/auibook.cpp $(AUILIB_ODEP)
auilib_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(AUILIB_ODEP)
$(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
auilib_auibar.o: $(srcdir)/src/aui/auibar.cpp $(AUILIB_ODEP)
$(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/auibar.cpp
richtextdll_version_rc.o: $(srcdir)/src/msw/version.rc $(RICHTEXTDLL_ODEP)
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_58) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) --define WXDLLNAME=$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG) $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include $(__INC_TIFF_p_57) $(__INC_JPEG_p_58) $(__INC_PNG_p_57) $(__INC_ZLIB_p_59) $(__INC_ODBC_p_57) $(__INC_REGEX_p_57) $(__INC_EXPAT_p_57) --define WXUSINGDLL --define WXMAKINGDLL_RICHTEXT

View File

@@ -3151,6 +3151,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/aui/floatpane.cpp
src/aui/auibook.cpp
src/aui/tabmdi.cpp
src/aui/auibar.cpp
</set>
<set var="AUI_HDR" hints="files">
wx/aui/framemanager.h
@@ -3158,6 +3159,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/aui/floatpane.h
wx/aui/auibook.h
wx/aui/tabmdi.h
wx/aui/auibar.h
wx/aui/aui.h
</set>

View File

@@ -1075,7 +1075,8 @@ AUIDLL_OBJECTS = \
$(OBJS)\auidll_dockart.obj \
$(OBJS)\auidll_floatpane.obj \
$(OBJS)\auidll_auibook.obj \
$(OBJS)\auidll_tabmdi.obj
$(OBJS)\auidll_tabmdi.obj \
$(OBJS)\auidll_auibar.obj
AUILIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -1090,7 +1091,8 @@ AUILIB_OBJECTS = \
$(OBJS)\auilib_dockart.obj \
$(OBJS)\auilib_floatpane.obj \
$(OBJS)\auilib_auibook.obj \
$(OBJS)\auilib_tabmdi.obj
$(OBJS)\auilib_tabmdi.obj \
$(OBJS)\auilib_auibar.obj
RICHTEXTDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -1306,6 +1308,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_floatpane.obj \
$(OBJS)\monodll_auibook.obj \
$(OBJS)\monodll_tabmdi.obj \
$(OBJS)\monodll_auibar.obj \
$(OBJS)\monodll_richtextctrl.obj \
$(OBJS)\monodll_richtextbuffer.obj \
$(OBJS)\monodll_richtextstyles.obj \
@@ -1923,6 +1926,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_floatpane.obj \
$(OBJS)\monolib_auibook.obj \
$(OBJS)\monolib_tabmdi.obj \
$(OBJS)\monolib_auibar.obj \
$(OBJS)\monolib_richtextctrl.obj \
$(OBJS)\monolib_richtextbuffer.obj \
$(OBJS)\monolib_richtextstyles.obj \
@@ -5261,6 +5265,9 @@ $(OBJS)\monodll_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\monodll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\monodll_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\monodll_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
@@ -7261,6 +7268,9 @@ $(OBJS)\monolib_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\monolib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\monolib_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\monolib_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
@@ -12501,6 +12511,9 @@ $(OBJS)\auidll_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\auidll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\auidll_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\auilib_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) -H ..\..\src\common\dummy.cpp
@@ -12519,6 +12532,9 @@ $(OBJS)\auilib_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\auilib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\auilib_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\richtextdll_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) -q -c -P -o$@ $(RICHTEXTDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp

View File

@@ -1077,7 +1077,8 @@ AUIDLL_OBJECTS = \
$(OBJS)\auidll_dockart.o \
$(OBJS)\auidll_floatpane.o \
$(OBJS)\auidll_auibook.o \
$(OBJS)\auidll_tabmdi.o
$(OBJS)\auidll_tabmdi.o \
$(OBJS)\auidll_auibar.o
AUILIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
-DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
@@ -1092,7 +1093,8 @@ AUILIB_OBJECTS = \
$(OBJS)\auilib_dockart.o \
$(OBJS)\auilib_floatpane.o \
$(OBJS)\auilib_auibook.o \
$(OBJS)\auilib_tabmdi.o
$(OBJS)\auilib_tabmdi.o \
$(OBJS)\auilib_auibar.o
RICHTEXTDLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
$(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -1317,6 +1319,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_floatpane.o \
$(OBJS)\monodll_auibook.o \
$(OBJS)\monodll_tabmdi.o \
$(OBJS)\monodll_auibar.o \
$(OBJS)\monodll_richtextctrl.o \
$(OBJS)\monodll_richtextbuffer.o \
$(OBJS)\monodll_richtextstyles.o \
@@ -1940,6 +1943,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_floatpane.o \
$(OBJS)\monolib_auibook.o \
$(OBJS)\monolib_tabmdi.o \
$(OBJS)\monolib_auibar.o \
$(OBJS)\monolib_richtextctrl.o \
$(OBJS)\monolib_richtextbuffer.o \
$(OBJS)\monolib_richtextstyles.o \
@@ -5380,6 +5384,9 @@ $(OBJS)\monodll_auibook.o: ../../src/aui/auibook.cpp
$(OBJS)\monodll_tabmdi.o: ../../src/aui/tabmdi.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monodll_auibar.o: ../../src/aui/auibar.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monodll_richtextctrl.o: ../../src/richtext/richtextctrl.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -7480,6 +7487,9 @@ $(OBJS)\monolib_auibook.o: ../../src/aui/auibook.cpp
$(OBJS)\monolib_tabmdi.o: ../../src/aui/tabmdi.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monolib_auibar.o: ../../src/aui/auibar.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monolib_richtextctrl.o: ../../src/richtext/richtextctrl.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -13020,6 +13030,9 @@ $(OBJS)\auidll_auibook.o: ../../src/aui/auibook.cpp
$(OBJS)\auidll_tabmdi.o: ../../src/aui/tabmdi.cpp
$(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\auidll_auibar.o: ../../src/aui/auibar.cpp
$(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\auilib_dummy.o: ../../src/common/dummy.cpp
$(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $<
@@ -13038,6 +13051,9 @@ $(OBJS)\auilib_auibook.o: ../../src/aui/auibook.cpp
$(OBJS)\auilib_tabmdi.o: ../../src/aui/tabmdi.cpp
$(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\auilib_auibar.o: ../../src/aui/auibar.cpp
$(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\richtextdll_dummy.o: ../../src/common/dummy.cpp
$(CXX) -c -o $@ $(RICHTEXTDLL_CXXFLAGS) $(CPPDEPS) $<

View File

@@ -1161,7 +1161,8 @@ AUIDLL_OBJECTS = \
$(OBJS)\auidll_dockart.obj \
$(OBJS)\auidll_floatpane.obj \
$(OBJS)\auidll_auibook.obj \
$(OBJS)\auidll_tabmdi.obj
$(OBJS)\auidll_tabmdi.obj \
$(OBJS)\auidll_auibar.obj
AUILIB_CXXFLAGS = /M$(__RUNTIME_LIBS_424)$(__DEBUGRUNTIME) /DWIN32 \
$(__DEBUGINFO) \
/Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.pdb \
@@ -1178,7 +1179,8 @@ AUILIB_OBJECTS = \
$(OBJS)\auilib_dockart.obj \
$(OBJS)\auilib_floatpane.obj \
$(OBJS)\auilib_auibook.obj \
$(OBJS)\auilib_tabmdi.obj
$(OBJS)\auilib_tabmdi.obj \
$(OBJS)\auilib_auibar.obj
RICHTEXTDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_438)$(__DEBUGRUNTIME) /DWIN32 \
$(__DEBUGINFO) \
/Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_vc$(VENDORTAG).pdb \
@@ -1280,13 +1282,13 @@ WXUNICODEFLAG = u
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "amd64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
DIR_SUFFIX_CPU = _ia64
!endif
!if "$(TARGET_CPU)" == "ia64"
@@ -1301,13 +1303,13 @@ LIBTYPE_SUFFIX = lib
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "ia64"
@@ -1473,6 +1475,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_floatpane.obj \
$(OBJS)\monodll_auibook.obj \
$(OBJS)\monodll_tabmdi.obj \
$(OBJS)\monodll_auibar.obj \
$(OBJS)\monodll_richtextctrl.obj \
$(OBJS)\monodll_richtextbuffer.obj \
$(OBJS)\monodll_richtextstyles.obj \
@@ -2096,6 +2099,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_floatpane.obj \
$(OBJS)\monolib_auibook.obj \
$(OBJS)\monolib_tabmdi.obj \
$(OBJS)\monolib_auibar.obj \
$(OBJS)\monolib_richtextctrl.obj \
$(OBJS)\monolib_richtextbuffer.obj \
$(OBJS)\monolib_richtextstyles.obj \
@@ -5594,6 +5598,9 @@ $(OBJS)\monodll_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\monodll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\monodll_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\monodll_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
@@ -7594,6 +7601,9 @@ $(OBJS)\monolib_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\monolib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\monolib_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\monolib_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
@@ -12834,6 +12844,9 @@ $(OBJS)\auidll_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\auidll_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\auidll_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\auilib_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
@@ -12852,6 +12865,9 @@ $(OBJS)\auilib_auibook.obj: ..\..\src\aui\auibook.cpp
$(OBJS)\auilib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
$(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
$(OBJS)\auilib_auibar.obj: ..\..\src\aui\auibar.cpp
$(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\auibar.cpp
$(OBJS)\richtextdll_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) /c /nologo /TP /Fo$@ $(RICHTEXTDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp

View File

@@ -195,6 +195,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_floatpane.obj &
$(OBJS)\monodll_auibook.obj &
$(OBJS)\monodll_tabmdi.obj &
$(OBJS)\monodll_auibar.obj &
$(OBJS)\monodll_richtextctrl.obj &
$(OBJS)\monodll_richtextbuffer.obj &
$(OBJS)\monodll_richtextstyles.obj &
@@ -822,6 +823,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_floatpane.obj &
$(OBJS)\monolib_auibook.obj &
$(OBJS)\monolib_tabmdi.obj &
$(OBJS)\monolib_auibar.obj &
$(OBJS)\monolib_richtextctrl.obj &
$(OBJS)\monolib_richtextbuffer.obj &
$(OBJS)\monolib_richtextstyles.obj &
@@ -3823,7 +3825,8 @@ AUIDLL_OBJECTS = &
$(OBJS)\auidll_dockart.obj &
$(OBJS)\auidll_floatpane.obj &
$(OBJS)\auidll_auibook.obj &
$(OBJS)\auidll_tabmdi.obj
$(OBJS)\auidll_tabmdi.obj &
$(OBJS)\auidll_auibar.obj
AUILIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
$(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
@@ -3838,7 +3841,8 @@ AUILIB_OBJECTS = &
$(OBJS)\auilib_dockart.obj &
$(OBJS)\auilib_floatpane.obj &
$(OBJS)\auilib_auibook.obj &
$(OBJS)\auilib_tabmdi.obj
$(OBJS)\auilib_tabmdi.obj &
$(OBJS)\auilib_auibar.obj
RICHTEXTDLL_CXXFLAGS = -bd $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
$(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
@@ -5606,6 +5610,9 @@ $(OBJS)\monodll_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
$(OBJS)\monodll_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
$(OBJS)\monodll_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
$(OBJS)\monodll_richtextctrl.obj : .AUTODEPEND ..\..\src\richtext\richtextctrl.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -7706,6 +7713,9 @@ $(OBJS)\monolib_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
$(OBJS)\monolib_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
$(OBJS)\monolib_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
$(OBJS)\monolib_richtextctrl.obj : .AUTODEPEND ..\..\src\richtext\richtextctrl.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -13246,6 +13256,9 @@ $(OBJS)\auidll_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
$(OBJS)\auidll_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(AUIDLL_CXXFLAGS) $<
$(OBJS)\auidll_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(AUIDLL_CXXFLAGS) $<
$(OBJS)\auilib_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(AUILIB_CXXFLAGS) $<
@@ -13264,6 +13277,9 @@ $(OBJS)\auilib_auibook.obj : .AUTODEPEND ..\..\src\aui\auibook.cpp
$(OBJS)\auilib_tabmdi.obj : .AUTODEPEND ..\..\src\aui\tabmdi.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(AUILIB_CXXFLAGS) $<
$(OBJS)\auilib_auibar.obj : .AUTODEPEND ..\..\src\aui\auibar.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(AUILIB_CXXFLAGS) $<
$(OBJS)\richtextdll_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(RICHTEXTDLL_CXXFLAGS) $<

View File

@@ -978,6 +978,10 @@ SOURCE=..\..\include\wx\aui\aui.h
# End Source File
# Begin Source File
SOURCE=..\..\include\wx\aui\auibar.h
# End Source File
# Begin Source File
SOURCE=..\..\include\wx\aui\auibook.h
# End Source File
# Begin Source File
@@ -1002,6 +1006,10 @@ SOURCE=..\..\include\wx\aui\tabmdi.h
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\aui\auibar.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\aui\auibook.cpp
# End Source File
# Begin Source File

View File

@@ -8669,6 +8669,10 @@ SOURCE=..\..\include\wx\aui\aui.h
# End Source File
# Begin Source File
SOURCE=..\..\include\wx\aui\auibar.h
# End Source File
# Begin Source File
SOURCE=..\..\include\wx\aui\auibook.h
# End Source File
# Begin Source File

View File

@@ -1,5 +1,5 @@
rem Uncomment the next line to set the version; used also in wxWidgets.iss
SET WXW_VER=2.8.8
SET WXW_VER=2.8.9
if (%WXW_VER%)==() SET WXW_VER=CVS

508
configure vendored
View File

@@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Id: configure.in 53975 2008-06-04 10:52:33Z SN .
# From configure.in Id: configure.in 55211 2008-08-23 18:30:30Z VZ .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for wxWidgets 2.8.8.
#
@@ -270,8 +270,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='wxWidgets'
PACKAGE_TARNAME='wxwidgets'
PACKAGE_VERSION='2.8.8'
PACKAGE_STRING='wxWidgets 2.8.8'
PACKAGE_VERSION='2.8.9'
PACKAGE_STRING='wxWidgets 2.8.9'
PACKAGE_BUGREPORT='wx-dev@lists.wxwidgets.org'
ac_unique_file="wx-config.in"
@@ -866,7 +866,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures wxWidgets 2.8.8 to adapt to many kinds of systems.
\`configure' configures wxWidgets 2.8.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -932,7 +932,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of wxWidgets 2.8.8:";;
short | recursive ) echo "Configuration of wxWidgets 2.8.9:";;
esac
cat <<\_ACEOF
@@ -947,7 +947,7 @@ Optional Features:
--disable-gtk2 use GTK+ 1.2 instead of 2.0
--enable-gpe use GNOME PDA Environment features if possible
--enable-shared create shared library code
--enable-optimise create optimised code
--enable-optimise compile without optimisations
--enable-debug same as debug_flag and debug_info
--enable-stl use STL for containers
--enable-omf use OMF object format
@@ -1338,7 +1338,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
wxWidgets configure 2.8.8
wxWidgets configure 2.8.9
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1352,7 +1352,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by wxWidgets $as_me 2.8.8, which was
It was created by wxWidgets $as_me 2.8.9, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1803,7 +1803,7 @@ test -n "$target_alias" &&
wx_major_version_number=2
wx_minor_version_number=8
wx_release_number=8
wx_release_number=9
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
@@ -24115,6 +24115,479 @@ _ACEOF
_ACEOF
fi
echo "$as_me:$LINENO: checking for unordered_map" >&5
echo $ECHO_N "checking for unordered_map... $ECHO_C" >&6
if test "${ac_cv_header_unordered_map+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <unordered_map>
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_header_unordered_map=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_unordered_map=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_header_unordered_map" >&5
echo "${ECHO_T}$ac_cv_header_unordered_map" >&6
if test $ac_cv_header_unordered_map = yes; then
echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std" >&5
echo $ECHO_N "checking for unordered_map and unordered_set in std... $ECHO_C" >&6
if test "${wx_cv_class_stdunorderedmapset+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <unordered_map>
#include <unordered_set>
int
main ()
{
std::unordered_map<double*, char*> test1;
std::unordered_set<char*> test2;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
wx_cv_class_stdunorderedmapset=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
wx_cv_class_stdunorderedmapset=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $wx_cv_class_stdunorderedmapset" >&5
echo "${ECHO_T}$wx_cv_class_stdunorderedmapset" >&6
fi
if test "$wx_cv_class_stdunorderedmapset" = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_STD_UNORDERED_MAP 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define HAVE_STD_UNORDERED_SET 1
_ACEOF
else
echo "$as_me:$LINENO: checking for tr1/unordered_map" >&5
echo $ECHO_N "checking for tr1/unordered_map... $ECHO_C" >&6
if test "${ac_cv_header_tr1_unordered_map+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <tr1/unordered_map>
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_header_tr1_unordered_map=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_tr1_unordered_map=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_header_tr1_unordered_map" >&5
echo "${ECHO_T}$ac_cv_header_tr1_unordered_map" >&6
if test $ac_cv_header_tr1_unordered_map = yes; then
echo "$as_me:$LINENO: checking for unordered_map and unordered_set in std::tr1" >&5
echo $ECHO_N "checking for unordered_map and unordered_set in std::tr1... $ECHO_C" >&6
if test "${wx_cv_class_tr1unorderedmapset+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <tr1/unordered_map>
#include <tr1/unordered_set>
int
main ()
{
std::tr1::unordered_map<double*, char*> test1;
std::tr1::unordered_set<char*> test2;
#if defined(__GNUC__) && (__GNUC__==4) && (__GNUC_MINOR__<2)
#error can't use unordered_{map,set} with gcc-4.[01]: http://gcc.gnu.org/PR24389
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
wx_cv_class_tr1unorderedmapset=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
wx_cv_class_tr1unorderedmapset=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $wx_cv_class_tr1unorderedmapset" >&5
echo "${ECHO_T}$wx_cv_class_tr1unorderedmapset" >&6
fi
if test "$wx_cv_class_tr1unorderedmapset" = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_TR1_UNORDERED_MAP 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define HAVE_TR1_UNORDERED_SET 1
_ACEOF
else
echo "$as_me:$LINENO: checking for hash_map" >&5
echo $ECHO_N "checking for hash_map... $ECHO_C" >&6
if test "${ac_cv_header_hash_map+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <hash_map>
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_header_hash_map=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_hash_map=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_header_hash_map" >&5
echo "${ECHO_T}$ac_cv_header_hash_map" >&6
if test $ac_cv_header_hash_map = yes; then
echo "$as_me:$LINENO: checking for std::hash_map and hash_set" >&5
echo $ECHO_N "checking for std::hash_map and hash_set... $ECHO_C" >&6
if test "${wx_cv_class_stdhashmapset+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <hash_map>
#include <hash_set>
int
main ()
{
std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
wx_cv_class_stdhashmapset=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
wx_cv_class_stdhashmapset=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $wx_cv_class_stdhashmapset" >&5
echo "${ECHO_T}$wx_cv_class_stdhashmapset" >&6
fi
if test "$wx_cv_class_stdhashmapset" = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_HASH_MAP 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define HAVE_STD_HASH_MAP 1
_ACEOF
fi
echo "$as_me:$LINENO: checking for ext/hash_map" >&5
echo $ECHO_N "checking for ext/hash_map... $ECHO_C" >&6
if test "${ac_cv_header_ext_hash_map+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ext/hash_map>
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_header_ext_hash_map=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_ext_hash_map=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_header_ext_hash_map" >&5
echo "${ECHO_T}$ac_cv_header_ext_hash_map" >&6
if test $ac_cv_header_ext_hash_map = yes; then
echo "$as_me:$LINENO: checking for GNU hash_map and hash_set" >&5
echo $ECHO_N "checking for GNU hash_map and hash_set... $ECHO_C" >&6
if test "${wx_cv_class_gnuhashmapset+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ext/hash_map>
#include <ext/hash_set>
int
main ()
{
__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
__gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
wx_cv_class_gnuhashmapset=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
wx_cv_class_gnuhashmapset=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $wx_cv_class_gnuhashmapset" >&5
echo "${ECHO_T}$wx_cv_class_gnuhashmapset" >&6
fi
fi
fi
fi
ac_ext=c
@@ -24872,7 +25345,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test "wxUSE_UNICODE" = "yes"; then
if test "$wxUSE_UNICODE" = "yes"; then
for wx_func in wcstoull
do
@@ -24890,7 +25363,7 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <wchar.h>
$ac_includes_default
int
@@ -45581,6 +46054,15 @@ _ACEOF
USES_CONTROLS=1
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
cat >>confdefs.h <<\_ACEOF
#define wxUSE_RICHEDIT 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define wxUSE_RICHEDIT2 1
_ACEOF
fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then
@@ -50459,7 +50941,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by wxWidgets $as_me 2.8.8, which was
This file was extended by wxWidgets $as_me 2.8.9, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -50522,7 +51004,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
wxWidgets config.status 2.8.8
wxWidgets config.status 2.8.9
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"

View File

@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
dnl initialization
dnl ---------------------------------------------------------------------------
AC_INIT([wxWidgets], [2.8.8], [wx-dev@lists.wxwidgets.org])
AC_INIT([wxWidgets], [2.8.9], [wx-dev@lists.wxwidgets.org])
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
AC_CONFIG_SRCDIR([wx-config.in])
@@ -34,7 +34,7 @@ dnl wx_release_number += 1
wx_major_version_number=2
wx_minor_version_number=8
wx_release_number=8
wx_release_number=9
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
@@ -944,7 +944,7 @@ dnl compile options
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED)
WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
WX_ARG_ENABLE(optimise, [ --enable-optimise compile without optimisations], wxUSE_OPTIMISE)
WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
if test "$USE_OS2" = "1"; then
@@ -2540,6 +2540,86 @@ if test "$wxUSE_STL" = "yes"; then
AC_DEFINE(HAVE_EXT_HASH_MAP)
AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)
fi
AC_CHECK_HEADER([unordered_map],
[AC_CACHE_CHECK([for unordered_map and unordered_set in std],
wx_cv_class_stdunorderedmapset,
[AC_TRY_COMPILE([#include <unordered_map>
#include <unordered_set>],
[std::unordered_map<double*, char*> test1;
std::unordered_set<char*> test2;],
wx_cv_class_stdunorderedmapset=yes,
wx_cv_class_stdunorderedmapset=no)
]
)],
[],
[ ]
)
if test "$wx_cv_class_stdunorderedmapset" = yes; then
AC_DEFINE(HAVE_STD_UNORDERED_MAP)
AC_DEFINE(HAVE_STD_UNORDERED_SET)
else
AC_CHECK_HEADER([tr1/unordered_map],
[AC_CACHE_CHECK([for unordered_map and unordered_set in std::tr1],
wx_cv_class_tr1unorderedmapset,
[AC_TRY_COMPILE([#include <tr1/unordered_map>
#include <tr1/unordered_set>],
[std::tr1::unordered_map<double*, char*> test1;
std::tr1::unordered_set<char*> test2;
#if defined(__GNUC__) && (__GNUC__==4) && (__GNUC_MINOR__<2)
#error can't use unordered_{map,set} with gcc-4.[01]: http://gcc.gnu.org/PR24389
#endif],
wx_cv_class_tr1unorderedmapset=yes,
wx_cv_class_tr1unorderedmapset=no)
]
)],
[],
[ ]
)
if test "$wx_cv_class_tr1unorderedmapset" = yes; then
AC_DEFINE(HAVE_TR1_UNORDERED_MAP)
AC_DEFINE(HAVE_TR1_UNORDERED_SET)
else
dnl check for hash_map and hash_set headers
AC_CHECK_HEADER([hash_map],
[AC_CACHE_CHECK([for std::hash_map and hash_set],
wx_cv_class_stdhashmapset,
[AC_TRY_COMPILE([#include <hash_map>
#include <hash_set>],
[std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
wx_cv_class_stdhashmapset=yes,
wx_cv_class_stdhashmapset=no)
]
)],
[],
[ ]
)
if test "$wx_cv_class_stdhashmapset" = yes; then
AC_DEFINE(HAVE_HASH_MAP)
AC_DEFINE(HAVE_STD_HASH_MAP)
fi
AC_CHECK_HEADER([ext/hash_map],
[AC_CACHE_CHECK([for GNU hash_map and hash_set],
wx_cv_class_gnuhashmapset,
[AC_TRY_COMPILE([#include <ext/hash_map>
#include <ext/hash_set>],
[__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
__gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
wx_cv_class_gnuhashmapset=yes,
wx_cv_class_gnuhashmapset=no)
]
)],
[],
[ ]
)
fi
fi
fi
dnl pop C++
@@ -2786,8 +2866,8 @@ dnl
dnl at least under SGI these functions are only available in C99 code and not
dnl in C++ so do these tests using C++ compiler
AC_LANG_PUSH(C++)
if test "wxUSE_UNICODE" = "yes"; then
WX_CHECK_FUNCS(wcstoull)
if test "$wxUSE_UNICODE" = "yes"; then
WX_CHECK_FUNCS(wcstoull,,,[#include <wchar.h>])
else
WX_CHECK_FUNCS(strtoull)
fi
@@ -7283,6 +7363,11 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
AC_DEFINE(wxUSE_TEXTCTRL)
USES_CONTROLS=1
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
dnl we don't have special switches to disable wxUSE_RICHEDIT[2], it doesn't
dnl seem useful to allow disabling them
AC_DEFINE(wxUSE_RICHEDIT)
AC_DEFINE(wxUSE_RICHEDIT2)
fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then

View File

@@ -111,13 +111,13 @@ WXUNICODEFLAG = u
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "amd64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
DIR_SUFFIX_CPU = _ia64
!endif
!if "$(TARGET_CPU)" == "ia64"
@@ -132,13 +132,13 @@ LIBTYPE_SUFFIX = lib
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "ia64"

View File

@@ -239,13 +239,13 @@ WXUNICODEFLAG = u
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "amd64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
DIR_SUFFIX_CPU = _ia64
!endif
!if "$(TARGET_CPU)" == "ia64"
@@ -260,13 +260,13 @@ LIBTYPE_SUFFIX = lib
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "ia64"

View File

@@ -1,5 +1,5 @@
[OPTIONS]
BMROOT=c:\wx2dev\wxwind~1\contrib\docs\latex\ogl
BMROOT=c:\wx\wxw28b\contrib\docs\latex\ogl ; Assume that bitmaps are where the source is
TITLE=OGL Manual
CONTENTS=Contents
COMPRESS=HIGH

View File

@@ -265,6 +265,10 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int WXUNUSED(posHoriz), int posVer
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
#endif // USE_GENERIC_TREECTRL
{
// JLD - 2008-07-31 - call SetScrollInfo() - Vista ignores nPos passed in WM_VSCROLL wParam
SCROLLINFO si = {sizeof(SCROLLINFO), SIF_POS, 0, 0, 0, posVert, 0};
SetScrollInfo((HWND) GetHWND(), SB_VERT, &si, FALSE);
UINT sbCode = SB_THUMBPOSITION;
HWND vertScrollBar = 0;
MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXLPARAM) vertScrollBar);
@@ -373,7 +377,7 @@ void wxRemotelyScrolledTreeCtrl::AdjustRemoteScrollbars()
if (scrolledWindow)
{
wxRect itemRect;
if (GetBoundingRect(GetFirstVisibleItem(), itemRect))
if (GetBoundingRect(GetRootItem(), itemRect))
{
// Actually, the real height seems to be 1 less than reported
// (e.g. 16 instead of 16)

View File

@@ -682,11 +682,15 @@ bool ScintillaWX::DestroySystemCaret() {
//----------------------------------------------------------------------
long ScintillaWX::DefWndProc(unsigned int /*iMessage*/, unsigned long /*wParam*/, long /*lParam*/) {
sptr_t ScintillaWX::DefWndProc(unsigned int /*iMessage*/,
uptr_t /*wParam*/,
sptr_t /*lParam*/) {
return 0;
}
long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lParam) {
sptr_t ScintillaWX::WndProc(unsigned int iMessage,
uptr_t wParam,
sptr_t lParam) {
switch (iMessage) {
case SCI_CALLTIPSHOW: {
// NOTE: This is copied here from scintilla/src/ScintillaBase.cxx

View File

@@ -111,12 +111,12 @@ public:
virtual void AddToPopUp(const char *label, int cmd = 0, bool enabled = true);
virtual void ClaimSelection();
virtual long DefWndProc(unsigned int iMessage,
unsigned long wParam,
long lParam);
virtual long WndProc(unsigned int iMessage,
unsigned long wParam,
long lParam);
virtual sptr_t DefWndProc(unsigned int iMessage,
uptr_t wParam,
sptr_t lParam);
virtual sptr_t WndProc(unsigned int iMessage,
uptr_t wParam,
sptr_t lParam);
virtual void NotifyChange();
virtual void NotifyParent(SCNotification scn);

17
debian/changelog vendored
View File

@@ -1,3 +1,20 @@
wxwidgets2.8 (2.8.8.1-0) unstable; urgency=low
* Fixed bug in wxScrolledWindow when child focus events caused
unneccessary or incorrect scrolling.
* Fixed a bug in wxGridBagSizer where hidden items were not ignored in
part of the layout algorithm.
-- Robin Dunn <robin@alldunn.com> Fri, 18 Jul 2008 10:59:05 -0700
wxwidgets2.8 (2.8.8.0-0) unstable; urgency=low
* New upstream stable release. See docs/changes.txt for details.
-- Robin Dunn <robin@alldunn.com> Fri, 20 Jun 2008 12:03:37 -0700
wxwidgets2.8 (2.8.7.1-0) unstable; urgency=low
* wxPython: New version of XRCed from Google SoC project

View File

@@ -3,8 +3,8 @@
icon="/usr/share/pixmaps/pycrust.png"
?package(python-wxtools):needs="X11" section="Apps/Programming"\
title="pyshell" command="/usr/bin/pyshell"\
icon="/usr/share/pixmaps/pyshell.png"
icon="/usr/share/pixmaps/pyshell.png"
?package(python-wxtools):needs="X11" section="Apps/Programming"\
title="xrced" command="/usr/bin/xrced"
title="xrced" command="/usr/bin/xrced"\
icon="/usr/share/pixmaps/xrced.png"

View File

@@ -18,7 +18,7 @@ DOCDIR=${WX_TEMP_DIR}/wxWidgets/docs/
CURDATE=`date -I`
# build info
BUILD_VERSION=2.8.8
BUILD_VERSION=2.8.9
BUILD_TAG=HEAD

View File

@@ -88,6 +88,90 @@ Major new features in 2.8 release
wxSearchCtrl, wxAboutBox, wxTreebook, tar streams.
2.8.9
-----
All:
- Optimize wxString::Replace() for single character arguments.
- Updated Hindi translation (Priyank Bolia).
- Use tr1::unordered_{map,set} for wxHash{Map,Set} implementation if available
in STL build; in particular do not use deprecated hash_{map,set} which
results in a lot of warnings from newer g++ (Jan Van Dijk and Pete Stieber).
All (GUI):
- Added support for reading alpha channel in BMP format (Kevin Wright).
- Fixed help viewer bug whereby the splitter sash in wxHtmlHelpWindow could
go underneath the left-hand pane, permanently, after resizing the
help window.
- Fixed wxHTML default font size for printing to be 12pt regardless of the
platform, instead of depending on GUI toolkit's screen configuration.
- Support wxDP_ALLOWNONE style in generic wxDatePickerCtrl version.
- Set wxKeyEvent::m_uniChar correctly in the events generated by generic
wxListCtrl (Mikkel S).
- Fix changing size of merged cells in wxGrid (Laurent Humbertclaude).
- Fixed wrapping bug in wxRichTextCtrl when there were images present;
now sets the cursor to the next line after pressing Shift+Enter.
- Fixed Cmd+Back, Cmd+Del word deletion behaviour in wxRichTextCtrl.
- Fix crash when reading malformed PCX images.
- Fix bug with wrong transparency in GIF animations (troelsk).
- Store palette information for XPM images in wxImage (troelsk).
- Fixed selection bugs and auto list numbering in wxRichTextCtrl.
- Significantly optimize wxGrid::BlockToDeviceRect() for large grids (kjones).
- Introduced new wxAuiToolBar class for better integration and look-and-feel.
- Fix a crash in wxAuiFrameManager when Update() was called in between mouse-up
and mouse-down events
- wxAUI: added various NULL-ptr asserts.
- Fixed problem with Floatable(false) not working in wxAuiFrameManager.
- Fixed maximize bug in wxAUI.
- Allow period in link anchors in wxHTML.
- Fixed memory corruption in wxHTML when parsing "&;" in the markup.
- Fixed event type in EVT_GRID_CMD_COL_MOVE and EVT_GRID_COL_MOVE.
- wxGrid doesn't steal focus when hiding editor any more (Tom Eckert).
All (Unix):
- MIME types reading fixed when running under GNOME, reading .desktop
files and also the default application list.
- Added filesys.no-mimetypesmanager system option so that applications that
must load an XRC file at program startup don't have to incur the
mime types manager initialization penalty.
wxMSW:
- Potentially incompatible change: wxExecute() arguments are now quoted if they
contain spaces and existing quotes are escaped with a backslash. However, to
preserve compatibility, the argument is unchanged if it is already quoted.
Notice that this behaviour will change in wxWidgets 3.0 where all arguments
will be quoted, please update your code now if you are affected and use only
wxWidgets 2.8.9 or later.
- Fix keyboard support in wxSpinCtrl broken in 2.8.8.
- Compile fix for WinCE in window.cpp (no VkKeyScan in Windows CE).
- Support disabling items before adding them to the menu (Christian Walther).
- Allow to call SetFont(wxNullFont) to reset the font to default.
- Implement UUID::operator==() and !=() (SQLAware Corporation).
- Fixed long standing (introduced in 2.6.3) bug which resulted in always
creating a DIB and not DDB in wxBitmap(const wxImage&) ctor.
- Fix the bug with wxFileDialog not being shown at all if the default file name
was invalid.
- Fix hang in keyboard navigation code with radio buttons under Windows 2000.
- Implement wxWinINetInputStream::GetSize() (spicerno).
- Always copy "has alpha" flag when copying bitmaps (SQLAware Corporation).
wxGTK:
- Fixed masking of disabled bitmaps in wxMenuItem and wxStaticBitmap.
- Fixed generation of events for an initially empty wxDirPickerCtrl.
- Fixed detection of Meta key state so that NumLock isn't misdetected
as Meta (requires GTK+ 2.10).
- Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
wxMac:
- Fixed a glitch where clicking on a scrollbar (but not moving the scrollbar)
would cause the window to scroll.
2.8.8
-----
@@ -378,7 +462,7 @@ All:
overlaps UTF-8 characters boundary.
- Account for lines without newline at the end in wxExecute().
- Added wxString::char_str(), wchar_str(), From8BitData(), To8BitData(),
FromUTF8(), ToUTF8() and utf8_str() methods for forward compatiblity
FromUTF8(), ToUTF8() and utf8_str() methods for forward compatibility
with wxWidgets 3.
All (Unix):

View File

@@ -122,7 +122,7 @@ accept CTRL-Enter as meaning `OK' (but not in GTK+ at present).
Default constructor.
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{table}}
Copy constructor, uses \helpref{reference counting}{trefcount}.

View File

@@ -26,13 +26,13 @@
%\special{!/@scaleunit 1 def}
\parskip=10pt
\parindent=0pt
\title{wxWidgets 2.8.8: A portable C++ and Python GUI toolkit}
\title{wxWidgets 2.8.9: A portable C++ and Python GUI toolkit}
\winhelponly{\author{by Julian Smart et al
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
}}
\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin,
Robin Dunn, et al}
\date{November, 2007}
\date{August, 2008}
}
\makeindex
\begin{document}

View File

@@ -218,31 +218,10 @@ return type (without const).
\membersection{wxMBConv::FromWChar}\label{wxmbconvfromwchar}
\constfunc{virtual size\_t}{FromWChar}{\param{wchar\_t *}{dst}, \param{size\_t }{dstLen}, \param{const char *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
The most general function for converting a multibyte string to a wide string.
The main case is when \arg{dst} is not \NULL and \arg{srcLen} is not
\texttt{wxNO\_LEN} (which is defined as \texttt{(size\_t)$-1$}): then
the function converts exactly \arg{srcLen} bytes starting at \arg{src} into
wide string which it output to \arg{dst}. If the length of the resulting wide
string is greater than \arg{dstLen}, an error is returned. Note that if
\arg{srcLen} bytes don't include \NUL characters, the resulting wide string is
not \NUL-terminated neither.
If \arg{srcLen} is \texttt{wxNO\_LEN}, the function supposes that the string is
properly (i.e. as necessary for the encoding handled by this conversion)
\NUL-terminated and converts the entire string, including any trailing \NUL
bytes. In this case the wide string is also \NUL-terminated.
Finally, if \arg{dst} is \NULL, the function returns the length of the needed
buffer.
\wxheading{Return value}
The number of characters written to \arg{dst} (or the number of characters
which would have been written to it if it were non-\NULL) on success or
\texttt{wxCONV\_FAILED} on error.
\constfunc{virtual size\_t}{FromWChar}{\param{char\_t *}{dst}, \param{size\_t }{dstLen}, \param{const wchar\_t *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
This function has the same semantics as \helpref{ToWChar}{wxmbconvtowchar}
except that it converts a wide string to multibyte one.
\membersection{wxMBConv::GetMaxMBNulLen}\label{wxmbconvgetmaxmbnullen}
@@ -269,9 +248,28 @@ The other cases are not currently supported and \texttt{wxCONV\_FAILED}
\membersection{wxMBConv::ToWChar}\label{wxmbconvtowchar}
\constfunc{virtual size\_t}{ToWChar}{\param{char\_t *}{dst}, \param{size\_t }{dstLen}, \param{const wchar\_t *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
\constfunc{virtual size\_t}{ToWChar}{\param{wchar\_t *}{dst}, \param{size\_t }{dstLen}, \param{const char\_t *}{src}, \param{size\_t }{srcLen = wxNO\_LEN}}
This function has the same semantics as \helpref{FromWChar}{wxmbconvfromwchar}
except that it converts a wide string to multibyte one.
The most general function for converting a multibyte string to a wide string.
The main case is when \arg{dst} is not \NULL and \arg{srcLen} is not
\texttt{wxNO\_LEN} (which is defined as \texttt{(size\_t)$-1$}): then
the function converts exactly \arg{srcLen} bytes starting at \arg{src} into
wide string which it output to \arg{dst}. If the length of the resulting wide
string is greater than \arg{dstLen}, an error is returned. Note that if
\arg{srcLen} bytes don't include \NUL characters, the resulting wide string is
not \NUL-terminated neither.
If \arg{srcLen} is \texttt{wxNO\_LEN}, the function supposes that the string is
properly (i.e. as necessary for the encoding handled by this conversion)
\NUL-terminated and converts the entire string, including any trailing \NUL
bytes. In this case the wide string is also \NUL-terminated.
Finally, if \arg{dst} is \NULL, the function returns the length of the needed
buffer.
\wxheading{Return value}
The number of characters written to \arg{dst} (or the number of characters
which would have been written to it if it were non-\NULL) on success or
\texttt{wxCONV\_FAILED} on error.

View File

@@ -170,6 +170,18 @@ the list.
\helpref{SetImageList}{wxnotebooksetimagelist}
\membersection{wxNotebook::ChangeSelection}\label{wxnotebookchangeselection}
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
Changes the selection for the given page, returning the previous selection.
The call to this function \emph{does not} generate the page changing events.
This is the only difference with \helpref{SetSelection}{wxnotebooksetselection}.
See \helpref{this topic}{progevent} for more info.
\membersection{wxNotebook::Create}\label{wxnotebookcreate}
\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
@@ -410,15 +422,3 @@ This function is deprecated and should not be used in new code. Please use the
\wxheading{See also}
\helpref{wxNotebook::GetSelection}{wxnotebookgetselection}
\membersection{wxNotebook::ChangeSelection}\label{wxnotebookchangeselection}
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
Changes the selection for the given page, returning the previous selection.
The call to this function \emph{does not} generate the page changing events.
This is the only difference with \helpref{SetSelection}{wxnotebooksetselection}.
See \helpref{this topic}{progevent} for more info.

View File

@@ -311,7 +311,7 @@ Returns the name of the list style.
\membersection{wxRichTextAttr::GetOutlineLevel}\label{wxrichtextattrgetoutlinelevel}
\constfunc{bool}{GetOutlineLevel}{\void}
\constfunc{int}{GetOutlineLevel}{\void}
Returns the outline level.

View File

@@ -39,6 +39,10 @@ to the Apple guidelines. Again, this class doesn't help you to do it.
This class is MT-safe: its methods may be called concurrently from different
threads without additional locking.
Note that you don't allocate an instance of class wxStandardPaths, but retrieve the
global standard paths object using \texttt{wxStandardPaths::Get} on which you call the
desired methods.
\wxheading{Derived from}
No base class

View File

@@ -7,6 +7,34 @@ but is still important to be able to configure.
These options are currently recognised by wxWidgets.
\wxheading{All platforms}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf Option}}{{\bf Value}}
\twocolitem{filesys.no-mimetypesmanager}{Set to 1 to avoid using the mime types manager in wxFileSystemHandler.
This can cut down loading time when loading an XRC file at startup, for example.}
\twocolitem{msw.window.no-clip-children}{If 1, windows will not automatically get the WS\_CLIPCHILDREN
style. This restores the way windows are refreshed back to the method used in versions of wxWidgets
earlier than 2.5.4, and for some complex window hierarchies it can reduce apparent refresh delays. You may
still specify wxCLIP\_CHILDREN for individual windows.}
\twocolitem{msw.notebook.themed-background}{If set to 0, globally disables themed backgrounds on notebook
pages. Note that this won't disable the theme on the actual notebook background (noticeable only if there are no
pages).}
\twocolitem{msw.staticbox.optimized-paint}{If set to 0, switches off optimized wxStaticBox painting.
Setting this to 0 causes more flicker, but allows applications to paint graphics on the parent of a static box
(the optimized refresh causes any such drawing to disappear).}
\twocolitem{msw.display.directdraw}{If set to 1, use DirectDraw-based implementation of
\helpref{wxDisplay}{wxdisplay}. By default the standard Win32 functions are
used.}
\twocolitem{msw.font.no-proof-quality}{If set to 1, use default fonts quality
instead of proof quality when creating fonts. With proof quality the fonts
have slightly better appearance but not all fonts are available in this
quality, e.g. the Terminal font in small sizes is not and this option may be
used if wider fonts selection is more important than higher quality.}
\end{twocollist}
\wxheading{Windows}
\twocolwidtha{7cm}

View File

@@ -223,7 +223,7 @@ Returns the name of the list style.
\membersection{wxTextAttrEx::GetOutlineLevel}\label{wxtextattrexgetoutlinelevel}
\constfunc{bool}{GetOutlineLevel}{\void}
\constfunc{int}{GetOutlineLevel}{\void}
Returns the outline level.

View File

@@ -130,6 +130,19 @@ Sets the image list for the page control and takes ownership of the list.
\membersection{wxTreebook::ChangeSelection}\label{wxtreebookchangeselection}
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
Changes the selection for the given page, returning the previous selection.
The call to this function \emph{does not} generate the page changing events.
This is the only difference with \helpref{SetSelection}{wxtreebooksetselection}.
See \helpref{this topic}{progevent} for more info.
\membersection{wxTreebook::CollapseNode}\label{wxtreebookcollapsenode}
\func{bool}{CollapseNode}{\param{size\_t }{pageId}}
@@ -277,16 +290,3 @@ This function is deprecated and should not be used in new code. Please use the
\wxheading{See also}
\helpref{wxTreebook::GetSelection}{wxtreebookgetselection}
\membersection{wxTreebook::ChangeSelection}\label{wxtreebookchangeselection}
\func{int}{ChangeSelection}{\param{size\_t}{ page}}
Changes the selection for the given page, returning the previous selection.
The call to this function \emph{does not} generate the page changing events.
This is the only difference with \helpref{SetSelection}{wxtreebooksetselection}.
See \helpref{this topic}{progevent} for more info.

View File

@@ -101,7 +101,7 @@ Their Unicode debug counterparts in wxUniversal build would be
wxmswuniv28ud_adv.lib
These directories also contain subdirectory with wx/setup.h header. This
subdirectory is named after port, Unicode, wxUniv and debug settings and
subdirectory is named after port, Unicode, wxUniv and debug settings and
you must add it to include paths when compiling your application. Some
examples:
@@ -292,7 +292,7 @@ Compiling using the makefiles:
This produces a couple of libraries in the lib\bcc_lib directory.
2. Change directory to a sample or demo such as samples\minimal, and type
'make -f makefile.bcc'. This produces a windows exe file - by default
'make -f makefile.bcc'. This produces a windows exe file - by default
in the bcc_mswd subdirectory.
Note (1): the wxWidgets makefiles assume dword structure alignment. Please
@@ -308,10 +308,10 @@ recompile wxWidgets. The same applies if compiling using the IDE.
Note (3): If you wish debug messages to be sent to the console in
debug mode, edit makefile.bcc and change /aa to /Tpe in link commands.
Cmpilation succeeds with CBuilderX personal edition and CBuilder6, but
Cmpilation succeeds with CBuilderX personal edition and CBuilder6, but
you may have to copy make.exe from the 5.5 download to the new bin directory.
Compiling using the IDE files for Borland C++ 5.0 and using CBuilder IDE
(v1-v6): not supported
Compiling using the IDE files for Borland C++ 5.0 and using CBuilder IDE
(v1-v6): not supported
** REMEMBER **
@@ -470,23 +470,23 @@ NOTE: The makefile.gcc makefiles are for compilation under MinGW using
other environments (such as UNIX or Unix-like, e.g. MSYS where you have
to use configure instead, see the section below)
Here are the steps required using the provided makefiles:
First, if you are using gcc-2.95, edit build\msw\config.gcc and set the
GCC_VERSION variable to "2.95".
- If you are using gcc-2.95, edit build\msw\config.gcc and set the GCC_VERSION
variable to "2.95".
- Use the makefile.gcc files for compiling wxWidgets and samples,
e.g. to compile a debugging version of wxWidgets:
Use the makefile.gcc files for compiling wxWidgets and samples,
e.g. to compile a debugging version of wxWidgets:
> cd c:\wx\build\msw
> make -f makefile.gcc BUILD=debug
> mingw32-make -f makefile.gcc BUILD=debug
> cd c:\wx\samples\minimal
> make -f makefile.gcc BUILD=debug
> mingw32-make -f makefile.gcc BUILD=debug
(See below for more options.)
Ignore the warning about the default entry point.
Notice that Windows command interpreter (cmd.exe) and mingw32-make must be
used, using Bash (sh.exe) and make.exe from MSYS will only work when using
configure-based build procedure described below!
- Use the 'strip' command to reduce executable/dll size (note that
stripping an executable/dll will remove debug information!).
You can also Use the 'strip' command to reduce executable/dll size (note that
stripping an executable/dll will remove debug information!).
All targets have 'clean' targets to allow removal of object files
and other intermediate compiler files.
@@ -594,7 +594,7 @@ Symantec & DigitalMars C++ compilation
The DigitalMars compiler is a free succssor to the Symantec compiler
and can be downloaded from http://www.digitalmars.com/
1. You need to download and unzip in turn (later packages will overwrite
older files)
Digital Mars C/C++ Compiler Version 8.40 or later
@@ -681,9 +681,9 @@ Basic options
----------------------------------------------------------------
BUILD=release
Builds release version of the library. It differs from default 'debug'
Builds release version of the library. It differs from default 'debug'
in lack of appended 'd' in name of library, does not define __WXDEBUG__
and not include debug information compiled into object files and the
and not include debug information compiled into object files and the
executable.
SHARED=1
@@ -706,7 +706,7 @@ Advanced options
----------------------------------------------------------------
MONOLITHIC=1
Starting with version 2.5.1, wxWidgets has the ability to be built as
Starting with version 2.5.1, wxWidgets has the ability to be built as
several smaller libraries instead of single big one as used to be the case
in 2.4 and older versions. This is called "multilib build" and is the
default behaviour of makefiles. You can still build single library
@@ -786,7 +786,7 @@ Compiler specific options
* MinGW
If you are using gcc-2.95 instead of gcc3, you must set GCC_VERSION to
2.95. In build\msw\config.gcc, change
2.95. In build\msw\config.gcc, change
> GCC_VERSION = 3
to
> GCC_VERSION = 2.95
@@ -822,7 +822,7 @@ compiler name. Examples of directory names:
build\msw\bcc_mswunivd SHARED=0, WXUNIV=1, BUILD=debug
build\msw\vc_mswunivd ditto, with Visual C++
Libraries and DLLs are copied into subdirectory of lib directory with
Libraries and DLLs are copied into subdirectory of lib directory with
name derived from compiler and static/DLL setting and setup.h into directory
with name that contains other settings:
@@ -843,7 +843,7 @@ to setup.h, you should do them in this file, _not_ in include\wx\msw\setup.h.
If you set CFG to something, the value is appended to directory names. E.g.
for CFG=MyBuild, you'll have object files in
build\msw\bcc_mswMyBuild
build\msw\bcc_mswdllMyBuild
etc.
@@ -855,7 +855,7 @@ and libraries in
etc.
By now it is clear what CFG is for: builds with different CFG settings don't
share any files and they use different setup.h files. This allows you to e.g.
share any files and they use different setup.h files. This allows you to e.g.
have two static debug builds, one with wxUSE_SOCKETS=0 and one with sockets
enabled (without CFG, both of them would be put into same directory and there
would be conflicts between the files).

View File

@@ -1,4 +1,4 @@
wxWidgets 2.8.8
wxWidgets 2.8.9
---------------------------------------------------------
Welcome to wxWidgets, a sophisticated cross-platform C++

View File

@@ -12,7 +12,7 @@
{wx}/*.spec
{wx}/include/wx/version.h
{wx}/include/msvc/wx/setup.h {major release only}
{wx}/docs/latex/wx/manual.tex
{wx}/docs/latex/wx/manual.tex {and change the date}
{wx}/docs/msw/install.txt {major release only}
{wx}/docs/changes.txt
{wx}/docs/readme.txt

View File

@@ -15,6 +15,7 @@
#include "wx/aui/framemanager.h"
#include "wx/aui/dockart.h"
#include "wx/aui/floatpane.h"
#include "wx/aui/auibar.h"
#include "wx/aui/auibook.h"
#include "wx/aui/tabmdi.h"

684
include/wx/aui/auibar.h Normal file
View File

@@ -0,0 +1,684 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/aui/toolbar.h
// Purpose: wxaui: wx advanced user interface - docking window manager
// Author: Benjamin I. Williams
// Modified by:
// Created: 2008-08-04
// RCS-ID: $Id$
// Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved.
// Licence: wxWindows Library Licence, Version 3.1
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_AUIBAR_H_
#define _WX_AUIBAR_H_
#include "wx/defs.h"
#if wxUSE_AUI
#if wxABI_VERSION >= 20809
#include "wx/control.h"
enum wxAuiToolBarStyle
{
wxAUI_TB_TEXT = 1 << 0,
wxAUI_TB_NO_TOOLTIPS = 1 << 1,
wxAUI_TB_NO_AUTORESIZE = 1 << 2,
wxAUI_TB_GRIPPER = 1 << 3,
wxAUI_TB_OVERFLOW = 1 << 4,
wxAUI_TB_VERTICAL = 1 << 5,
wxAUI_TB_HORZ_LAYOUT = 1 << 6,
wxAUI_TB_HORZ_TEXT = (wxAUI_TB_HORZ_LAYOUT | wxAUI_TB_TEXT),
wxAUI_TB_DEFAULT_STYLE = 0
};
enum wxAuiToolBarArtSetting
{
wxAUI_TBART_SEPARATOR_SIZE = 0,
wxAUI_TBART_GRIPPER_SIZE = 1,
wxAUI_TBART_OVERFLOW_SIZE = 2
};
enum wxAuiToolBarToolTextOrientation
{
wxAUI_TBTOOL_TEXT_LEFT = 0, // unused/unimplemented
wxAUI_TBTOOL_TEXT_RIGHT = 1,
wxAUI_TBTOOL_TEXT_TOP = 2, // unused/unimplemented
wxAUI_TBTOOL_TEXT_BOTTOM = 3
};
// aui toolbar event class
class WXDLLIMPEXP_AUI wxAuiToolBarEvent : public wxNotifyEvent
{
public:
wxAuiToolBarEvent(wxEventType command_type = wxEVT_NULL,
int win_id = 0)
: wxNotifyEvent(command_type, win_id)
{
is_dropdown_clicked = false;
click_pt = wxPoint(-1, -1);
rect = wxRect(-1,-1, 0, 0);
tool_id = -1;
}
#ifndef SWIG
wxAuiToolBarEvent(const wxAuiToolBarEvent& c) : wxNotifyEvent(c)
{
is_dropdown_clicked = c.is_dropdown_clicked;
click_pt = c.click_pt;
rect = c.rect;
tool_id = c.tool_id;
}
#endif
wxEvent *Clone() const { return new wxAuiToolBarEvent(*this); }
bool IsDropDownClicked() const { return is_dropdown_clicked; }
void SetDropDownClicked(bool c) { is_dropdown_clicked = c; }
wxPoint GetClickPoint() const { return click_pt; }
void SetClickPoint(const wxPoint& p) { click_pt = p; }
wxRect GetItemRect() const { return rect; }
void SetItemRect(const wxRect& r) { rect = r; }
int GetToolId() const { return tool_id; }
void SetToolId(int id) { tool_id = id; }
private:
bool is_dropdown_clicked;
wxPoint click_pt;
wxRect rect;
int tool_id;
#ifndef SWIG
private:
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxAuiToolBarEvent)
#endif
};
class WXDLLIMPEXP_AUI wxAuiToolBarItem
{
friend class wxAuiToolBar;
public:
wxAuiToolBarItem()
{
window = NULL;
sizer_item = NULL;
spacer_pixels = 0;
id = 0;
kind = wxITEM_NORMAL;
state = 0; // normal, enabled
proportion = 0;
active = true;
dropdown = true;
sticky = true;
user_data = 0;
}
wxAuiToolBarItem(const wxAuiToolBarItem& c)
{
Assign(c);
}
wxAuiToolBarItem& operator=(const wxAuiToolBarItem& c)
{
Assign(c);
return *this;
}
void Assign(const wxAuiToolBarItem& c)
{
window = c.window;
label = c.label;
bitmap = c.bitmap;
disabled_bitmap = c.disabled_bitmap;
hover_bitmap = c.hover_bitmap;
short_help = c.short_help;
long_help = c.long_help;
sizer_item = c.sizer_item;
min_size = c.min_size;
spacer_pixels = c.spacer_pixels;
id = c.id;
kind = c.kind;
state = c.state;
proportion = c.proportion;
active = c.active;
dropdown = c.dropdown;
sticky = c.sticky;
user_data = c.user_data;
}
void SetWindow(wxWindow* w) { window = w; }
wxWindow* GetWindow() { return window; }
void SetId(int new_id) { id = new_id; }
int GetId() const { return id; }
void SetKind(int new_kind) { kind = new_kind; }
int GetKind() const { return kind; }
void SetState(int new_state) { state = new_state; }
int GetState() const { return state; }
void SetSizerItem(wxSizerItem* s) { sizer_item = s; }
wxSizerItem* GetSizerItem() const { return sizer_item; }
void SetLabel(const wxString& s) { label = s; }
const wxString& GetLabel() const { return label; }
void SetBitmap(const wxBitmap& bmp) { bitmap = bmp; }
const wxBitmap& GetBitmap() const { return bitmap; }
void SetDisabledBitmap(const wxBitmap& bmp) { disabled_bitmap = bmp; }
const wxBitmap& GetDisabledBitmap() const { return disabled_bitmap; }
void SetHoverBitmap(const wxBitmap& bmp) { hover_bitmap = bmp; }
const wxBitmap& GetHoverBitmap() const { return hover_bitmap; }
void SetShortHelp(const wxString& s) { short_help = s; }
const wxString& GetShortHelp() const { return short_help; }
void SetLongHelp(const wxString& s) { long_help = s; }
const wxString& GetLongHelp() const { return long_help; }
void SetMinSize(const wxSize& s) { min_size = s; }
const wxSize& GetMinSize() const { return min_size; }
void SetSpacerPixels(int s) { spacer_pixels = s; }
int GetSpacerPixels() const { return spacer_pixels; }
void SetProportion(int p) { proportion = p; }
int GetProportion() const { return proportion; }
void SetActive(bool b) { active = b; }
bool IsActive() const { return active; }
void SetHasDropDown(bool b) { dropdown = b; }
bool HasDropDown() const { return dropdown; }
void SetSticky(bool b) { sticky = b; }
bool IsSticky() const { return sticky; }
void SetUserData(long l) { user_data = l; }
long GetUserData() const { return user_data; }
private:
wxWindow* window; // item's associated window
wxString label; // label displayed on the item
wxBitmap bitmap; // item's bitmap
wxBitmap disabled_bitmap; // item's disabled bitmap
wxBitmap hover_bitmap; // item's hover bitmap
wxString short_help; // short help (for tooltip)
wxString long_help; // long help (for status bar)
wxSizerItem* sizer_item; // sizer item
wxSize min_size; // item's minimum size
int spacer_pixels; // size of a spacer
int id; // item's id
int kind; // item's kind
int state; // state
int proportion; // proportion
bool active; // true if the item is currently active
bool dropdown; // true if the item has a dropdown button
bool sticky; // overrides button states if true (always active)
long user_data; // user-specified data
};
#ifndef SWIG
WX_DECLARE_USER_EXPORTED_OBJARRAY(wxAuiToolBarItem, wxAuiToolBarItemArray, WXDLLIMPEXP_AUI);
#endif
// tab art class
class WXDLLIMPEXP_AUI wxAuiToolBarArt
{
public:
wxAuiToolBarArt() { }
virtual ~wxAuiToolBarArt() { }
virtual wxAuiToolBarArt* Clone() = 0;
virtual void SetFlags(unsigned int flags) = 0;
virtual void SetFont(const wxFont& font) = 0;
virtual void SetTextOrientation(int orientation) = 0;
virtual void DrawBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect) = 0;
virtual void DrawLabel(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect) = 0;
virtual void DrawButton(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect) = 0;
virtual void DrawDropDownButton(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect) = 0;
virtual void DrawControlLabel(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect) = 0;
virtual void DrawSeparator(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect) = 0;
virtual void DrawGripper(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect) = 0;
virtual void DrawOverflowButton(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
int state) = 0;
virtual wxSize GetLabelSize(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item) = 0;
virtual wxSize GetToolSize(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item) = 0;
virtual int GetElementSize(int element_id) = 0;
virtual void SetElementSize(int element_id, int size) = 0;
virtual int ShowDropDown(
wxWindow* wnd,
const wxAuiToolBarItemArray& items) = 0;
};
class WXDLLIMPEXP_AUI wxAuiDefaultToolBarArt : public wxAuiToolBarArt
{
public:
wxAuiDefaultToolBarArt();
virtual ~wxAuiDefaultToolBarArt();
virtual wxAuiToolBarArt* Clone();
virtual void SetFlags(unsigned int flags);
virtual void SetFont(const wxFont& font);
virtual void SetTextOrientation(int orientation);
virtual void DrawBackground(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
virtual void DrawLabel(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect);
virtual void DrawButton(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect);
virtual void DrawDropDownButton(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect);
virtual void DrawControlLabel(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item,
const wxRect& rect);
virtual void DrawSeparator(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
virtual void DrawGripper(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect);
virtual void DrawOverflowButton(
wxDC& dc,
wxWindow* wnd,
const wxRect& rect,
int state);
virtual wxSize GetLabelSize(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item);
virtual wxSize GetToolSize(
wxDC& dc,
wxWindow* wnd,
const wxAuiToolBarItem& item);
virtual int GetElementSize(int element);
virtual void SetElementSize(int element_id, int size);
virtual int ShowDropDown(wxWindow* wnd,
const wxAuiToolBarItemArray& items);
protected:
wxBitmap m_button_dropdown_bmp;
wxBitmap m_disabled_button_dropdown_bmp;
wxBitmap m_overflow_bmp;
wxBitmap m_disabled_overflow_bmp;
wxColour m_base_colour;
wxColour m_highlight_colour;
wxFont m_font;
unsigned int m_flags;
int m_text_orientation;
wxPen m_gripper_pen1;
wxPen m_gripper_pen2;
wxPen m_gripper_pen3;
int m_separator_size;
int m_gripper_size;
int m_overflow_size;
};
class WXDLLIMPEXP_AUI wxAuiToolBar : public wxControl
{
public:
wxAuiToolBar(wxWindow* parent,
wxWindowID id = -1,
const wxPoint& position = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxAUI_TB_DEFAULT_STYLE);
~wxAuiToolBar();
void SetWindowStyleFlag(long style);
void SetArtProvider(wxAuiToolBarArt* art);
wxAuiToolBarArt* GetArtProvider() const;
bool SetFont(const wxFont& font);
void AddTool(int tool_id,
const wxString& label,
const wxBitmap& bitmap,
const wxString& short_help_string = wxEmptyString,
wxItemKind kind = wxITEM_NORMAL);
void AddTool(int tool_id,
const wxString& label,
const wxBitmap& bitmap,
const wxBitmap& disabled_bitmap,
wxItemKind kind,
const wxString& short_help_string,
const wxString& long_help_string,
wxObject* client_data);
void AddTool(int tool_id,
const wxBitmap& bitmap,
const wxBitmap& disabled_bitmap,
bool toggle = false,
wxObject* client_data = NULL,
const wxString& short_help_string = wxEmptyString,
const wxString& long_help_string = wxEmptyString)
{
AddTool(tool_id,
wxEmptyString,
bitmap,
disabled_bitmap,
toggle ? wxITEM_CHECK : wxITEM_NORMAL,
short_help_string,
long_help_string,
client_data);
}
void AddLabel(int tool_id,
const wxString& label = wxEmptyString,
const int width = -1);
void AddControl(wxControl* control,
const wxString& label = wxEmptyString);
void AddSeparator();
void AddSpacer(int pixels);
void AddStretchSpacer(int proportion = 1);
bool Realize();
wxControl* FindControl(int window_id);
wxAuiToolBarItem* FindToolByPosition(wxCoord x, wxCoord y) const;
wxAuiToolBarItem* FindToolByIndex(int idx) const;
wxAuiToolBarItem* FindTool(int tool_id) const;
void ClearTools() { Clear() ; }
void Clear();
bool DeleteTool(int tool_id);
bool DeleteByIndex(int tool_id);
size_t GetToolCount() const;
int GetToolPos(int tool_id) const { return GetToolIndex(tool_id); }
int GetToolIndex(int tool_id) const;
bool GetToolFits(int tool_id) const;
wxRect GetToolRect(int tool_id) const;
bool GetToolFitsByIndex(int tool_id) const;
bool GetToolBarFits() const;
void SetMargins(const wxSize& size) { SetMargins(size.x, size.x, size.y, size.y); }
void SetMargins(int x, int y) { SetMargins(x, x, y, y); }
void SetMargins(int left, int right, int top, int bottom);
void SetToolBitmapSize(const wxSize& size);
wxSize GetToolBitmapSize() const;
bool GetOverflowVisible() const;
void SetOverflowVisible(bool visible);
bool GetGripperVisible() const;
void SetGripperVisible(bool visible);
void ToggleTool(int tool_id, bool state);
bool GetToolToggled(int tool_id) const;
void EnableTool(int tool_id, bool state);
bool GetToolEnabled(int tool_id) const;
void SetToolDropDown(int tool_id, bool dropdown);
bool GetToolDropDown(int tool_id) const;
void SetToolBorderPadding(int padding);
int GetToolBorderPadding() const;
void SetToolTextOrientation(int orientation);
int GetToolTextOrientation() const;
void SetToolPacking(int packing);
int GetToolPacking() const;
void SetToolProportion(int tool_id, int proportion);
int GetToolProportion(int tool_id) const;
void SetToolSeparation(int separation);
int GetToolSeparation() const;
void SetToolSticky(int tool_id, bool sticky);
bool GetToolSticky(int tool_id) const;
wxString GetToolLabel(int tool_id) const;
void SetToolLabel(int tool_id, const wxString& label);
wxBitmap GetToolBitmap(int tool_id) const;
void SetToolBitmap(int tool_id, const wxBitmap& bitmap);
wxString GetToolShortHelp(int tool_id) const;
void SetToolShortHelp(int tool_id, const wxString& help_string);
wxString GetToolLongHelp(int tool_id) const;
void SetToolLongHelp(int tool_id, const wxString& help_string);
void SetCustomOverflowItems(const wxAuiToolBarItemArray& prepend,
const wxAuiToolBarItemArray& append);
protected:
virtual void OnCustomRender(wxDC& WXUNUSED(dc),
const wxAuiToolBarItem& WXUNUSED(item),
const wxRect& WXUNUSED(rect)) { }
protected:
void DoIdleUpdate();
void SetOrientation(int orientation);
void SetHoverItem(wxAuiToolBarItem* item);
void SetPressedItem(wxAuiToolBarItem* item);
void RefreshOverflowState();
int GetOverflowState() const;
wxRect GetOverflowRect() const;
wxSize GetLabelSize(const wxString& label);
wxAuiToolBarItem* FindToolByPositionWithPacking(wxCoord x, wxCoord y) const;
void DoSetSize(int x,
int y,
int width,
int height,
int sizeFlags = wxSIZE_AUTO);
protected: // handlers
void OnSize(wxSizeEvent& evt);
void OnIdle(wxIdleEvent& evt);
void OnPaint(wxPaintEvent& evt);
void OnEraseBackground(wxEraseEvent& evt);
void OnLeftDown(wxMouseEvent& evt);
void OnLeftUp(wxMouseEvent& evt);
void OnRightDown(wxMouseEvent& evt);
void OnRightUp(wxMouseEvent& evt);
void OnMiddleDown(wxMouseEvent& evt);
void OnMiddleUp(wxMouseEvent& evt);
void OnMotion(wxMouseEvent& evt);
void OnLeaveWindow(wxMouseEvent& evt);
void OnSetCursor(wxSetCursorEvent& evt);
protected:
wxAuiToolBarItemArray m_items; // array of toolbar items
wxAuiToolBarArt* m_art; // art provider
wxBoxSizer* m_sizer; // main sizer for toolbar
wxAuiToolBarItem* m_action_item; // item that's being acted upon (pressed)
wxAuiToolBarItem* m_tip_item; // item that has its tooltip shown
wxBitmap m_bitmap; // double-buffer bitmap
wxSizerItem* m_gripper_sizer_item;
wxSizerItem* m_overflow_sizer_item;
wxSize m_absolute_min_size;
wxPoint m_action_pos; // position of left-mouse down
wxAuiToolBarItemArray m_custom_overflow_prepend;
wxAuiToolBarItemArray m_custom_overflow_append;
int m_button_width;
int m_button_height;
int m_sizer_element_count;
int m_left_padding;
int m_right_padding;
int m_top_padding;
int m_bottom_padding;
int m_tool_packing;
int m_tool_border_padding;
int m_tool_text_orientation;
int m_overflow_state;
bool m_dragging;
bool m_gripper_visible;
bool m_overflow_visible;
long m_style;
DECLARE_EVENT_TABLE()
DECLARE_CLASS(wxAuiToolBar)
};
// wx event machinery
#ifndef SWIG
BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, 0)
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, 0)
END_DECLARE_EVENT_TYPES()
typedef void (wxEvtHandler::*wxAuiToolBarEventFunction)(wxAuiToolBarEvent&);
#define wxAuiToolBarEventHandler(func) \
(wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxAuiToolBarEventFunction, &func)
#define EVT_AUITOOLBAR_TOOL_DROPDOWN(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, winid, wxAuiToolBarEventHandler(fn))
#define EVT_AUITOOLBAR_OVERFLOW_CLICK(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, winid, wxAuiToolBarEventHandler(fn))
#define EVT_AUITOOLBAR_RIGHT_CLICK(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, winid, wxAuiToolBarEventHandler(fn))
#define EVT_AUITOOLBAR_MIDDLE_CLICK(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, winid, wxAuiToolBarEventHandler(fn))
#define EVT_AUITOOLBAR_BEGIN_DRAG(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, winid, wxAuiToolBarEventHandler(fn))
#else
// wxpython/swig event work
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN;
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK;
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK;
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK;
%constant wxEventType wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG;
%pythoncode {
EVT_AUITOOLBAR_TOOL_DROPDOWN = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN, 1 )
EVT_AUITOOLBAR_OVERFLOW_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK, 1 )
EVT_AUITOOLBAR_RIGHT_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK, 1 )
EVT_AUITOOLBAR_MIDDLE_CLICK = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK, 1 )
EVT_AUITOOLBAR_BEGIN_DRAG = wx.PyEventBinder( wxEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG, 1 )
}
#endif // SWIG
#endif // wxABI_VERSION >= 20809
#endif // wxUSE_AUI
#endif // _WX_AUIBAR_H_

View File

@@ -469,15 +469,17 @@ protected:
void OnRightDown(wxMouseEvent& evt);
void OnRightUp(wxMouseEvent& evt);
void OnLeftDClick(wxMouseEvent& evt);
void OnSetFocus(wxFocusEvent& event);
void OnKillFocus(wxFocusEvent& event);
void OnChar(wxKeyEvent& event);
void OnSetFocus(wxFocusEvent& evt);
void OnKillFocus(wxFocusEvent& evt);
void OnChar(wxKeyEvent& evt);
#endif
#if wxABI_VERSION >= 20809
void OnCaptureLost(wxMouseCaptureLostEvent& evt);
#endif
void OnMotion(wxMouseEvent& evt);
void OnLeaveWindow(wxMouseEvent& evt);
void OnButton(wxAuiNotebookEvent& evt);
protected:
wxPoint m_click_pt;

View File

@@ -577,7 +577,7 @@ public:
// ------------------------------------------------------------------------
// default ctor does not initialize the object, use Set()!
wxDateTime() { m_time = wxLongLong((long)ULONG_MAX, ULONG_MAX); }
wxDateTime() { m_time = wxLongLong((wxInt32)UINT_MAX, UINT_MAX); }
// from time_t: seconds since the Epoch 00:00:00 UTC, Jan 1, 1970)
#if (!(defined(__VISAGECPP__) && __IBMCPP__ >= 400))

View File

@@ -190,6 +190,17 @@
/* as wxCHECK2 but with a message explaining why we fail */
#ifdef __GNUC__
#define wxFORCE_SEMICOLON typedef int wxDummyCheckInt
/* Note: old gcc versions (e.g. 2.8) give an internal compiler error */
/* on a simple forward declaration, when used in a template */
/* function, so rather use a dummy typedef which does work... */
#else
#define wxFORCE_SEMICOLON struct wxDummyCheckStruct
/* Note2: however, some other compilers (notably Digital Mars */
/* don't like multiple typedefs (even though the standard */
/* does allow them), so use a forward declaration for non-gcc. */
#endif
/* see comment near the definition of wxASSERT_MSG for the # if/else reason */
#if defined(__MWERKS__)
#define wxCHECK2_MSG(cond, op, msg) \
@@ -210,10 +221,7 @@
wxFAIL_COND_MSG(#cond, msg); \
op; \
} \
typedef int wxDummyCheckInt /* just to force a semicolon */
/* NB: old gcc versions (e.g. 2.8) give an internal compiler error */
/* on a simple forward declaration, when used in a template */
/* function, so rather use a dummy typedef which does work... */
wxFORCE_SEMICOLON /* just to force a semicolon */
#endif
/* special form of wxCHECK2: as wxCHECK, but for use in void functions */

View File

@@ -11,6 +11,7 @@
#ifndef _WX_DFB_PRIVATE_OVERLAY_H_
#define _WX_DFB_PRIVATE_OVERLAY_H_
#include "wx/gdicmn.h"
#include "wx/dfb/dfbptr.h"
wxDFB_DECLARE_INTERFACE(IDirectFBSurface);

View File

@@ -11,6 +11,8 @@
#ifndef _WX_DFB_WRAPDFB_H_
#define _WX_DFB_WRAPDFB_H_
#include "wx/gdicmn.h"
#include "wx/vidmode.h"
#include "wx/dfb/dfbptr.h"
#include <directfb.h>

View File

@@ -2256,7 +2256,7 @@ typedef void (wxEvtHandler::*wxGridEditorCreatedEventFunction)(wxGridEditorCreat
#define EVT_GRID_CMD_LABEL_RIGHT_DCLICK(id, fn) wx__DECLARE_GRIDEVT(LABEL_RIGHT_DCLICK, id, fn)
#define EVT_GRID_CMD_ROW_SIZE(id, fn) wx__DECLARE_GRIDSIZEEVT(ROW_SIZE, id, fn)
#define EVT_GRID_CMD_COL_SIZE(id, fn) wx__DECLARE_GRIDSIZEEVT(COL_SIZE, id, fn)
#define EVT_GRID_CMD_COL_MOVE(id, fn) wx__DECLARE_GRIDSIZEEVT(COL_MOVE, id, fn)
#define EVT_GRID_CMD_COL_MOVE(id, fn) wx__DECLARE_GRIDEVT(COL_MOVE, id, fn)
#define EVT_GRID_CMD_RANGE_SELECT(id, fn) wx__DECLARE_GRIDRANGESELEVT(RANGE_SELECT, id, fn)
#define EVT_GRID_CMD_CELL_CHANGE(id, fn) wx__DECLARE_GRIDEVT(CELL_CHANGE, id, fn)
#define EVT_GRID_CMD_SELECT_CELL(id, fn) wx__DECLARE_GRIDEVT(SELECT_CELL, id, fn)

View File

@@ -15,15 +15,15 @@
#include "wx/list.h"
#include "wx/control.h"
// ---------------------------------------------------------
// ---------------------------------------------------------
// classes
// ---------------------------------------------------------
// ---------------------------------------------------------
class WXDLLIMPEXP_CORE wxDataViewCtrl;
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewRenderer
// ---------------------------------------------------------
// ---------------------------------------------------------
class wxDataViewRenderer: public wxDataViewRendererBase
{
@@ -40,150 +40,150 @@ protected:
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewTextRenderer
// ---------------------------------------------------------
// ---------------------------------------------------------
class wxDataViewTextRenderer: public wxDataViewRenderer
{
public:
wxDataViewTextRenderer( const wxString &varianttype = wxT("string"),
wxDataViewTextRenderer( const wxString &varianttype = wxT("string"),
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
bool SetValue( const wxVariant &value );
bool GetValue( wxVariant &value );
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewTextRenderer)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewBitmapRenderer
// ---------------------------------------------------------
// ---------------------------------------------------------
class wxDataViewBitmapRenderer: public wxDataViewRenderer
{
public:
wxDataViewBitmapRenderer( const wxString &varianttype = wxT("wxBitmap"),
wxDataViewBitmapRenderer( const wxString &varianttype = wxT("wxBitmap"),
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
bool SetValue( const wxVariant &value );
bool GetValue( wxVariant &value );
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewBitmapRenderer)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewToggleRenderer
// ---------------------------------------------------------
// ---------------------------------------------------------
class wxDataViewToggleRenderer: public wxDataViewRenderer
{
public:
wxDataViewToggleRenderer( const wxString &varianttype = wxT("bool"),
wxDataViewToggleRenderer( const wxString &varianttype = wxT("bool"),
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
bool SetValue( const wxVariant &value );
bool GetValue( wxVariant &value );
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewToggleRenderer)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewCustomRenderer
// ---------------------------------------------------------
// ---------------------------------------------------------
class wxDataViewCustomRenderer: public wxDataViewRenderer
{
public:
wxDataViewCustomRenderer( const wxString &varianttype = wxT("string"),
wxDataViewCustomRenderer( const wxString &varianttype = wxT("string"),
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
bool no_init = false );
virtual ~wxDataViewCustomRenderer();
bool Init();
virtual bool Render( wxRect cell, wxDC *dc, int state ) = 0;
virtual wxSize GetSize() = 0;
virtual bool Activate( wxRect cell,
wxDataViewListModel *model, unsigned int col, unsigned int row )
wxDataViewListModel * WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
{ return false; }
virtual bool LeftClick( wxPoint cursor, wxRect cell,
wxDataViewListModel *model, unsigned int col, unsigned int row )
virtual bool LeftClick( wxPoint WXUNUSED(cursor), wxRect WXUNUSED(cell),
wxDataViewListModel* WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
{ return false; }
virtual bool RightClick( wxPoint cursor, wxRect cell,
wxDataViewListModel *model, unsigned int col, unsigned int row )
virtual bool RightClick( wxPoint WXUNUSED(cursor), wxRect WXUNUSED(cell),
wxDataViewListModel* WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
{ return false; }
virtual bool StartDrag( wxPoint cursor, wxRect cell,
wxDataViewListModel *model, unsigned int col, unsigned int row )
virtual bool StartDrag( wxPoint cursor, wxRect cell,
wxDataViewListModel* WXUNUSED(model), unsigned int WXUNUSED(col), unsigned int WXUNUSED(row) )
{ return false; }
// Create DC on request
virtual wxDC *GetDC();
private:
wxDC *m_dc;
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewProgressRenderer
// ---------------------------------------------------------
// ---------------------------------------------------------
class wxDataViewProgressRenderer: public wxDataViewCustomRenderer
{
public:
wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
const wxString &varianttype = wxT("long"),
wxDataViewProgressRenderer( const wxString &label = wxEmptyString,
const wxString &varianttype = wxT("long"),
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT );
virtual ~wxDataViewProgressRenderer();
bool SetValue( const wxVariant &value );
virtual bool Render( wxRect cell, wxDC *dc, int state );
virtual wxSize GetSize();
private:
wxString m_label;
int m_value;
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewProgressRenderer)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewDateRenderer
// ---------------------------------------------------------
// ---------------------------------------------------------
class wxDataViewDateRenderer: public wxDataViewCustomRenderer
{
public:
wxDataViewDateRenderer( const wxString &varianttype = wxT("datetime"),
wxDataViewDateRenderer( const wxString &varianttype = wxT("datetime"),
wxDataViewCellMode mode = wxDATAVIEW_CELL_ACTIVATABLE );
bool SetValue( const wxVariant &value );
virtual bool Render( wxRect cell, wxDC *dc, int state );
virtual wxSize GetSize();
virtual bool Activate( wxRect cell,
wxDataViewListModel *model, unsigned int col, unsigned int row );
private:
wxDateTime m_date;
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewDateRenderer)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewColumn
// ---------------------------------------------------------
// ---------------------------------------------------------
class WXDLLIMPEXP_CORE wxDataViewColumn: public wxDataViewColumnBase
{
@@ -200,45 +200,45 @@ public:
virtual void SetOwner( wxDataViewCtrl *owner );
virtual void SetAlignment( wxAlignment align );
virtual void SetSortable( bool sortable );
virtual bool GetSortable();
virtual void SetSortOrder( bool ascending );
virtual bool IsSortOrderAscending();
virtual int GetWidth();
virtual void SetFixedWidth( int width );
virtual int GetFixedWidth();
// implementation
void* GetGtkHandle() { return m_column; }
private:
// holds the GTK handle
void* m_column;
// delayed connection to mouse events
friend class wxDataViewCtrl;
void OnInternalIdle();
bool m_isConnected;
bool m_isConnected;
protected:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewColumn)
};
// ---------------------------------------------------------
// ---------------------------------------------------------
// wxDataViewCtrl
// ---------------------------------------------------------
// ---------------------------------------------------------
class WXDLLIMPEXP_CORE wxDataViewCtrl: public wxDataViewCtrlBase
{
public:
wxDataViewCtrl()
wxDataViewCtrl()
{
Init();
}
wxDataViewCtrl( wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = 0,
@@ -258,28 +258,28 @@ public:
virtual bool AssociateModel( wxDataViewListModel *model );
virtual bool AppendColumn( wxDataViewColumn *col );
virtual void SetSelection( int row ); // -1 for unselect
virtual void SetSelectionRange( unsigned int from, unsigned int to );
virtual void SetSelections( const wxArrayInt& aSelections);
virtual void Unselect( unsigned int row );
virtual bool IsSelected( unsigned int row ) const;
virtual int GetSelection() const;
virtual int GetSelections(wxArrayInt& aSelections) const;
static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
private:
friend class wxDataViewCtrlDC;
friend class wxDataViewColumn;
friend class wxGtkDataViewListModelNotifier;
GtkWidget *m_treeview;
wxDataViewListModelNotifier *m_notifier;
virtual void OnInternalIdle();
private:
DECLARE_DYNAMIC_CLASS(wxDataViewCtrl)
DECLARE_NO_COPY_CLASS(wxDataViewCtrl)

View File

@@ -14,12 +14,34 @@
#include "wx/string.h"
// In wxUSE_STL build we prefer to use the standard hash map class but it can
// be either in non-standard hash_map header (old g++ and some other STL
// implementations) or in C++0x standard unordered_map which can in turn be
// available either in std::tr1 or std namespace itself
//
// To summarize: if std::unordered_map is available use it, otherwise use tr1
// and finally fall back to non-standard hash_map
#if (defined(HAVE_EXT_HASH_MAP) || defined(HAVE_HASH_MAP)) \
&& (defined(HAVE_GNU_CXX_HASH_MAP) || defined(HAVE_STD_HASH_MAP))
#define HAVE_STL_HASH_MAP
#endif
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
#if wxUSE_STL && \
(defined(HAVE_STD_UNORDERED_MAP) || defined(HAVE_TR1_UNORDERED_MAP))
#if defined(HAVE_STD_UNORDERED_MAP)
#include <unordered_map>
#define WX_HASH_MAP_NAMESPACE std
#elif defined(HAVE_TR1_UNORDERED_MAP)
#include <tr1/unordered_map>
#define WX_HASH_MAP_NAMESPACE std::tr1
#endif
#define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
typedef WX_HASH_MAP_NAMESPACE::unordered_map< KEY_T, VALUE_T, HASH_T, KEY_EQ_T > CLASSNAME
#elif wxUSE_STL && defined(HAVE_STL_HASH_MAP)
#if defined(HAVE_EXT_HASH_MAP)
#include <ext/hash_map>
@@ -36,8 +58,9 @@
#define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
typedef WX_HASH_MAP_NAMESPACE::hash_map< KEY_T, VALUE_T, HASH_T, KEY_EQ_T > CLASSNAME
#else // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
#else // !wxUSE_STL || no std::{hash,unordered}_map class available
#define wxNEEDS_WX_HASH_MAP
#ifdef __WXWINCE__
typedef int ptrdiff_t;
@@ -442,7 +465,7 @@ inline bool grow_lf70( size_t buckets, size_t items )
return float(items)/float(buckets) >= 0.85;
}
#endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
#endif // various hash map implementations
// ----------------------------------------------------------------------------
// hashing and comparison functors
@@ -452,7 +475,7 @@ inline bool grow_lf70( size_t buckets, size_t items )
// operators to suppress warnings about "statement with no effect" from gcc
// in the hash table class assignment operator (where they're assigned)
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
#ifndef wxNEEDS_WX_HASH_MAP
// integer types
class WXDLLIMPEXP_BASE wxIntegerHash
@@ -496,7 +519,7 @@ public:
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
};
#else // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
#else // wxNEEDS_WX_HASH_MAP
// integer types
class WXDLLIMPEXP_BASE wxIntegerHash
@@ -517,7 +540,7 @@ public:
wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
};
#endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
#endif // !wxNEEDS_WX_HASH_MAP/wxNEEDS_WX_HASH_MAP
class WXDLLIMPEXP_BASE wxIntegerEqual
{
@@ -543,8 +566,8 @@ class WXDLLIMPEXP_BASE wxPointerHash
public:
wxPointerHash() { }
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
size_t operator()( const void* k ) const { return (size_t)k; }
#ifdef wxNEEDS_WX_HASH_MAP
wxUIntPtr operator()( const void* k ) const { return wxPtrToUInt(k); }
#else
wxUIntPtr operator()( const void* k ) const { return wxPtrToUInt(k); }
#endif
@@ -596,7 +619,7 @@ public:
wxStringEqual& operator=(const wxStringEqual&) { return *this; }
};
#if !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
#ifdef wxNEEDS_WX_HASH_MAP
#define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
_WX_DECLARE_PAIR( KEY_T, VALUE_T, CLASSNAME##_wxImplementation_Pair, CLASSEXP ) \
@@ -655,7 +678,7 @@ public: \
} \
}
#endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
#endif // wxNEEDS_WX_HASH_MAP
// these macros are to be used in the user code
#define WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME) \

View File

@@ -14,7 +14,25 @@
#include "wx/hashmap.h"
#if wxUSE_STL && defined(HAVE_STL_HASH_MAP)
// see comment in wx/hashmap.h which also applies to different standard hash
// set classes
#if wxUSE_STL && \
(defined(HAVE_STD_UNORDERED_SET) || defined(HAVE_TR1_UNORDERED_SET))
#if defined(HAVE_STD_UNORDERED_SET)
#include <unordered_set>
#define _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP )\
typedef std::unordered_set< KEY_T, HASH_T, KEY_EQ_T > CLASSNAME
#elif defined(HAVE_TR1_UNORDERED_SET)
#include <tr1/unordered_set>
#define _WX_DECLARE_HASH_SET( KEY_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP )\
typedef std::tr1::unordered_set< KEY_T, HASH_T, KEY_EQ_T > CLASSNAME
#else
#error Update this code: unordered_set is available, but I do not know where.
#endif
#elif wxUSE_STL && defined(HAVE_STL_HASH_MAP)
#if defined(HAVE_EXT_HASH_MAP)
#include <ext/hash_set>

View File

@@ -113,9 +113,9 @@ public:
// from long long
wxLongLongNative(wxLongLong_t ll) : m_ll(ll) { }
// from 2 longs
wxLongLongNative(long hi, unsigned long lo) : m_ll(0)
wxLongLongNative(wxInt32 hi, wxUint32 lo)
{
// assign first to avoid precision loss!
// cast to wxLongLong_t first to avoid precision loss!
m_ll = ((wxLongLong_t) hi) << 32;
m_ll |= (wxLongLong_t) lo;
}
@@ -160,11 +160,11 @@ public:
// accessors
// get high part
long GetHi() const
{ return wx_truncate_cast(long, m_ll >> 32); }
wxInt32 GetHi() const
{ return wx_truncate_cast(wxInt32, m_ll >> 32); }
// get low part
unsigned long GetLo() const
{ return wx_truncate_cast(unsigned long, m_ll); }
wxUint32 GetLo() const
{ return wx_truncate_cast(wxUint32, m_ll); }
// get absolute value
wxLongLongNative Abs() const { return wxLongLongNative(*this).Abs(); }
@@ -350,9 +350,9 @@ public:
// from long long
wxULongLongNative(wxULongLong_t ll) : m_ll(ll) { }
// from 2 longs
wxULongLongNative(unsigned long hi, unsigned long lo) : m_ll(0)
wxULongLongNative(wxUint32 hi, wxUint32 lo) : m_ll(0)
{
// assign first to avoid precision loss!
// cast to wxLongLong_t first to avoid precision loss!
m_ll = ((wxULongLong_t) hi) << 32;
m_ll |= (wxULongLong_t) lo;
}
@@ -392,11 +392,11 @@ public:
// accessors
// get high part
unsigned long GetHi() const
{ return wx_truncate_cast(unsigned long, m_ll >> 32); }
wxUint32 GetHi() const
{ return wx_truncate_cast(wxUint32, m_ll >> 32); }
// get low part
unsigned long GetLo() const
{ return wx_truncate_cast(unsigned long, m_ll); }
wxUint32 GetLo() const
{ return wx_truncate_cast(wxUint32, m_ll); }
// convert to native ulong long
wxULongLong_t GetValue() const { return m_ll; }

View File

@@ -117,9 +117,9 @@
// #define WXWIN_OS_DESCRIPTION "Darwin 7.9.0 Power Macintosh"
// #define PACKAGE_BUGREPORT "wx-dev@lists.wxwidgets.org"
// #define PACKAGE_NAME "wxWidgets"
// #define PACKAGE_STRING "wxWidgets 2.8.8"
// #define PACKAGE_STRING "wxWidgets 2.8.9"
// #define PACKAGE_TARNAME "wxwidgets"
// #define PACKAGE_VERSION "2.8.8"
// #define PACKAGE_VERSION "2.8.9"
// for regex
#define WX_NO_REGEX_ADVANCED 1

View File

@@ -324,7 +324,7 @@ class WXDLLEXPORT wxListCtrl: public wxControl
virtual bool SetFont(const wxFont& font);
virtual bool SetForegroundColour(const wxColour& colour);
virtual bool SetBackgroundColour(const wxColour& colour);
virtual wxColour GetBackgroundColour();
virtual wxColour GetBackgroundColour() const;
// functions for editing/timer
void OnRenameTimer();

View File

@@ -92,6 +92,7 @@ public:
virtual void SetTitle( const wxString& title);
virtual wxString GetTitle() const;
virtual void SetLabel( const wxString& title);
virtual void Raise();
virtual void Lower();

View File

@@ -435,6 +435,11 @@ private:
// UpdateStyle()), only should be called if InReportView()
void MSWSetExListStyles();
// initialize the (already created) m_textCtrl with the associated HWND
void InitEditControl(WXHWND hWnd);
// destroy m_textCtrl if it's currently valid and reset it to NULL
void DeleteEditControl();
DECLARE_DYNAMIC_CLASS(wxListCtrl)
DECLARE_EVENT_TABLE()

View File

@@ -74,6 +74,12 @@ public:
bool Set(const wxChar *pc); // from a string, returns true if ok
void Set(const UUID& uuid); // from another UUID (never fails)
#if wxABI_VERSION >= 20809
// comparison operators
bool operator==(const Uuid& uuid) const;
bool operator!=(const Uuid& uuid) const;
#endif // wxABI_VERSION >= 2.8.9
// accessors
operator const UUID*() const { return &m_uuid; }
operator const wxChar*() const { return (wxChar *)(m_pszUuid); }

View File

@@ -575,6 +575,10 @@ protected:
private:
void Init(wxPrintout *printout, wxPrintout *printoutForPrinting);
// helpers for RenderPage():
bool RenderPageIntoDC(wxDC& dc, int pageNum);
bool RenderPageIntoBitmap(wxBitmap& bmp, int pageNum);
DECLARE_NO_COPY_CLASS(wxPrintPreviewBase)
DECLARE_CLASS(wxPrintPreviewBase)
};

View File

@@ -49,7 +49,8 @@ public:
unsigned int GetColumnCount() const { return m_numCols; }
unsigned int GetRowCount() const { return m_numRows; }
// return the item above/below/to the left/right of the given one
// return the next active (i.e. shown and not disabled) item above/below/to
// the left/right of the given one
int GetNextItem(int item, wxDirection dir, long style) const;
#if wxUSE_TOOLTIPS

View File

@@ -119,7 +119,7 @@ public:
const wxRichTextHeaderFooterData& GetHeaderFooterData() const { return m_headerFooterData; }
/// Sets margins in 10ths of millimetre. Defaults to 1 inch for margins.
void SetMargins(int top = 252, int bottom = 252, int left = 252, int right = 252);
void SetMargins(int top = 254, int bottom = 254, int left = 254, int right = 254);
/// Calculate scaling and rectangles, setting the device context scaling
void CalculateScaling(wxDC* dc, wxRect& textRect, wxRect& headerRect, wxRect& footerRect);

View File

@@ -28,9 +28,9 @@
/* NB: this file is parsed by automatic tools so don't change its format! */
#define wxMAJOR_VERSION 2
#define wxMINOR_VERSION 8
#define wxRELEASE_NUMBER 8
#define wxRELEASE_NUMBER 9
#define wxSUBRELEASE_NUMBER 0
#define wxVERSION_STRING _T("wxWidgets 2.8.8")
#define wxVERSION_STRING _T("wxWidgets 2.8.9")
/* nothing to update below this line when updating the version */
/* ---------------------------------------------------------------------------- */

View File

@@ -1004,14 +1004,21 @@ public:
void SetToolTip( const wxString &tip );
// attach a tooltip to the window
void SetToolTip( wxToolTip *tip ) { DoSetToolTip(tip); }
#if wxABI_VERSION >= 20809
// more readable synonym for SetToolTip(NULL)
void UnsetToolTip() { SetToolTip(NULL); }
#endif // wxABI_VERSION >= 2.8.9
// get the associated tooltip or NULL if none
wxToolTip* GetToolTip() const { return m_tooltip; }
wxString GetToolTipText() const ;
#else
#else // !wxUSE_TOOLTIPS
// make it much easier to compile apps in an environment
// that doesn't support tooltips, such as PocketPC
inline void SetToolTip( const wxString & WXUNUSED(tip) ) {}
#endif // wxUSE_TOOLTIPS
void SetToolTip( const wxString & WXUNUSED(tip) ) {}
#if wxABI_VERSION >= 20809
void UnsetToolTip() { }
#endif // wxABI_VERSION >= 2.8.9
#endif // wxUSE_TOOLTIPS/!wxUSE_TOOLTIPS
// drag and drop
// -------------

View File

@@ -128,8 +128,6 @@ public:
// Destructor.
virtual ~wxXmlResource();
wxXmlNode *GetFirstRoot();
// Loads resources from XML files that match given filemask.
// This method understands VFS (see filesys.h).
bool Load(const wxString& filemask);

View File

@@ -125,11 +125,11 @@ public:
wxFilterInputStream *NewStream(wxInputStream& stream) const
{ return new wxZlibInputStream(stream); }
wxFilterOutputStream *NewStream(wxOutputStream& stream) const
{ return new wxZlibOutputStream(stream, -1); }
{ return new wxZlibOutputStream(stream, -1, wxZLIB_GZIP); }
wxFilterInputStream *NewStream(wxInputStream *stream) const
{ return new wxZlibInputStream(stream); }
wxFilterOutputStream *NewStream(wxOutputStream *stream) const
{ return new wxZlibOutputStream(stream, -1); }
{ return new wxZlibOutputStream(stream, -1, wxZLIB_GZIP); }
const wxChar * const *GetProtocols(wxStreamProtocolType type
= wxSTREAM_PROTOCOL) const;

File diff suppressed because it is too large Load Diff

View File

@@ -85,6 +85,8 @@ class MyFrame : public wxFrame
ID_VerticalGradient,
ID_HorizontalGradient,
ID_Settings,
ID_CustomizeToolbar,
ID_DropDownToolbarItem,
ID_NotebookNoCloseButton,
ID_NotebookCloseButton,
ID_NotebookCloseButtonAll,
@@ -99,6 +101,9 @@ class MyFrame : public wxFrame
ID_NotebookArtSimple,
ID_NotebookAlignTop,
ID_NotebookAlignBottom,
ID_SampleItem,
ID_FirstPerspective = ID_CreatePerspective+1000
};
@@ -138,10 +143,12 @@ private:
void OnCreateText(wxCommandEvent& evt);
void OnCreateSizeReport(wxCommandEvent& evt);
void OnChangeContentPane(wxCommandEvent& evt);
void OnDropDownToolbarItem(wxAuiToolBarEvent& evt);
void OnCreatePerspective(wxCommandEvent& evt);
void OnCopyPerspectiveCode(wxCommandEvent& evt);
void OnRestorePerspective(wxCommandEvent& evt);
void OnSettings(wxCommandEvent& evt);
void OnCustomizeToolbar(wxCommandEvent& evt);
void OnAllowNotebookDnD(wxAuiNotebookEvent& evt);
void OnNotebookPageClose(wxAuiNotebookEvent& evt);
void OnExit(wxCommandEvent& evt);
@@ -600,6 +607,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(ID_VerticalGradient, MyFrame::OnGradient)
EVT_MENU(ID_HorizontalGradient, MyFrame::OnGradient)
EVT_MENU(ID_Settings, MyFrame::OnSettings)
EVT_MENU(ID_CustomizeToolbar, MyFrame::OnCustomizeToolbar)
EVT_MENU(ID_GridContent, MyFrame::OnChangeContentPane)
EVT_MENU(ID_TreeContent, MyFrame::OnChangeContentPane)
EVT_MENU(ID_TextContent, MyFrame::OnChangeContentPane)
@@ -631,6 +639,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_UPDATE_UI(ID_HorizontalGradient, MyFrame::OnUpdateUI)
EVT_MENU_RANGE(MyFrame::ID_FirstPerspective, MyFrame::ID_FirstPerspective+1000,
MyFrame::OnRestorePerspective)
EVT_AUITOOLBAR_TOOL_DROPDOWN(ID_DropDownToolbarItem, MyFrame::OnDropDownToolbarItem)
EVT_AUI_PANE_CLOSE(MyFrame::OnPaneClose)
EVT_AUINOTEBOOK_ALLOW_DND(wxID_ANY, MyFrame::OnAllowNotebookDnD)
EVT_AUINOTEBOOK_PAGE_CLOSE(wxID_ANY, MyFrame::OnNotebookPageClose)
@@ -741,78 +750,102 @@ MyFrame::MyFrame(wxWindow* parent,
// code. For now, just hard code a frame minimum size
SetMinSize(wxSize(400,300));
// prepare a few custom overflow elements for the toolbars' overflow buttons
wxAuiToolBarItemArray prepend_items;
wxAuiToolBarItemArray append_items;
wxAuiToolBarItem item;
item.SetKind(wxITEM_SEPARATOR);
append_items.Add(item);
item.SetKind(wxITEM_NORMAL);
item.SetId(ID_CustomizeToolbar);
item.SetLabel(_("Customize..."));
append_items.Add(item);
// create some toolbars
wxToolBar* tb1 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxTB_FLAT | wxTB_NODIVIDER);
wxAuiToolBar* tb1 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
tb1->SetToolBitmapSize(wxSize(48,48));
tb1->AddTool(101, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
tb1->AddTool(ID_SampleItem+1, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
tb1->AddSeparator();
tb1->AddTool(102, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
tb1->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
tb1->AddTool(ID_SampleItem+2, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
tb1->AddTool(ID_SampleItem+3, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
tb1->AddTool(ID_SampleItem+4, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
tb1->AddTool(ID_SampleItem+5, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
tb1->SetCustomOverflowItems(prepend_items, append_items);
tb1->Realize();
wxToolBar* tb2 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxTB_FLAT | wxTB_NODIVIDER);
wxAuiToolBar* tb2 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
tb2->SetToolBitmapSize(wxSize(16,16));
wxBitmap tb2_bmp1 = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+6, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+7, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+8, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+9, wxT("Test"), tb2_bmp1);
tb2->AddSeparator();
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+10, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+11, wxT("Test"), tb2_bmp1);
tb2->AddSeparator();
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(101, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+12, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+13, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+14, wxT("Test"), tb2_bmp1);
tb2->AddTool(ID_SampleItem+15, wxT("Test"), tb2_bmp1);
tb2->SetCustomOverflowItems(prepend_items, append_items);
tb2->Realize();
wxToolBar* tb3 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxTB_FLAT | wxTB_NODIVIDER);
wxAuiToolBar* tb3 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW);
tb3->SetToolBitmapSize(wxSize(16,16));
wxBitmap tb3_bmp1 = wxArtProvider::GetBitmap(wxART_FOLDER, wxART_OTHER, wxSize(16,16));
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
tb3->AddTool(ID_SampleItem+16, wxT("Test2"), tb3_bmp1);
tb3->AddTool(ID_SampleItem+17, wxT("Test"), tb3_bmp1);
tb3->AddTool(ID_SampleItem+18, wxT("Test"), tb3_bmp1);
tb3->AddTool(ID_SampleItem+19, wxT("Test"), tb3_bmp1);
tb3->AddSeparator();
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
tb3->AddTool(101, wxT("Test"), tb3_bmp1);
tb3->AddTool(ID_SampleItem+20, wxT("Test"), tb3_bmp1);
tb3->AddTool(ID_SampleItem+21, wxT("Test"), tb3_bmp1);
tb3->SetCustomOverflowItems(prepend_items, append_items);
tb3->Realize();
wxToolBar* tb4 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxTB_FLAT | wxTB_NODIVIDER | wxTB_HORZ_TEXT);
wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxAUI_TB_DEFAULT_STYLE |
wxAUI_TB_OVERFLOW |
wxAUI_TB_TEXT |
wxAUI_TB_HORZ_TEXT);
tb4->SetToolBitmapSize(wxSize(16,16));
wxBitmap tb4_bmp1 = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, wxSize(16,16));
tb4->AddTool(101, wxT("Item 1"), tb4_bmp1);
tb4->AddTool(101, wxT("Item 2"), tb4_bmp1);
tb4->AddTool(101, wxT("Item 3"), tb4_bmp1);
tb4->AddTool(101, wxT("Item 4"), tb4_bmp1);
tb4->AddTool(ID_DropDownToolbarItem, wxT("Item 1"), tb4_bmp1);
tb4->AddTool(ID_SampleItem+23, wxT("Item 2"), tb4_bmp1);
tb4->AddTool(ID_SampleItem+24, wxT("Item 3"), tb4_bmp1);
tb4->AddTool(ID_SampleItem+25, wxT("Item 4"), tb4_bmp1);
tb4->AddSeparator();
tb4->AddTool(101, wxT("Item 5"), tb4_bmp1);
tb4->AddTool(101, wxT("Item 6"), tb4_bmp1);
tb4->AddTool(101, wxT("Item 7"), tb4_bmp1);
tb4->AddTool(101, wxT("Item 8"), tb4_bmp1);
tb4->AddTool(ID_SampleItem+26, wxT("Item 5"), tb4_bmp1);
tb4->AddTool(ID_SampleItem+27, wxT("Item 6"), tb4_bmp1);
tb4->AddTool(ID_SampleItem+28, wxT("Item 7"), tb4_bmp1);
tb4->AddTool(ID_SampleItem+29, wxT("Item 8"), tb4_bmp1);
tb4->SetToolDropDown(ID_DropDownToolbarItem, true);
tb4->SetCustomOverflowItems(prepend_items, append_items);
tb4->Realize();
// create some toolbars
wxToolBar* tb5 = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxTB_FLAT | wxTB_NODIVIDER | wxTB_VERTICAL);
wxAuiToolBar* tb5 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_OVERFLOW | wxAUI_TB_VERTICAL);
tb5->SetToolBitmapSize(wxSize(48,48));
tb5->AddTool(101, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
tb5->AddTool(ID_SampleItem+30, wxT("Test"), wxArtProvider::GetBitmap(wxART_ERROR));
tb5->AddSeparator();
tb5->AddTool(102, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
tb5->AddTool(103, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
tb5->AddTool(ID_SampleItem+31, wxT("Test"), wxArtProvider::GetBitmap(wxART_QUESTION));
tb5->AddTool(ID_SampleItem+32, wxT("Test"), wxArtProvider::GetBitmap(wxART_INFORMATION));
tb5->AddTool(ID_SampleItem+33, wxT("Test"), wxArtProvider::GetBitmap(wxART_WARNING));
tb5->AddTool(ID_SampleItem+34, wxT("Test"), wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
tb5->SetCustomOverflowItems(prepend_items, append_items);
tb5->Realize();
// add a bunch of panes
@@ -973,7 +1006,7 @@ void MyFrame::OnSize(wxSizeEvent& event)
event.Skip();
}
void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(event))
void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(evt))
{
// show the settings pane, and float it
wxAuiPaneInfo& floating_pane = m_mgr.GetPane(wxT("settings")).Float().Show();
@@ -984,6 +1017,11 @@ void MyFrame::OnSettings(wxCommandEvent& WXUNUSED(event))
m_mgr.Update();
}
void MyFrame::OnCustomizeToolbar(wxCommandEvent& WXUNUSED(evt))
{
wxMessageBox(_("Customize Toolbar clicked"));
}
void MyFrame::OnGradient(wxCommandEvent& event)
{
int gradient = 0;
@@ -1340,17 +1378,61 @@ void MyFrame::OnCreateSizeReport(wxCommandEvent& WXUNUSED(event))
m_mgr.Update();
}
void MyFrame::OnChangeContentPane(wxCommandEvent& event)
void MyFrame::OnChangeContentPane(wxCommandEvent& evt)
{
m_mgr.GetPane(wxT("grid_content")).Show(event.GetId() == ID_GridContent);
m_mgr.GetPane(wxT("text_content")).Show(event.GetId() == ID_TextContent);
m_mgr.GetPane(wxT("tree_content")).Show(event.GetId() == ID_TreeContent);
m_mgr.GetPane(wxT("sizereport_content")).Show(event.GetId() == ID_SizeReportContent);
m_mgr.GetPane(wxT("html_content")).Show(event.GetId() == ID_HTMLContent);
m_mgr.GetPane(wxT("notebook_content")).Show(event.GetId() == ID_NotebookContent);
m_mgr.GetPane(wxT("grid_content")).Show(evt.GetId() == ID_GridContent);
m_mgr.GetPane(wxT("text_content")).Show(evt.GetId() == ID_TextContent);
m_mgr.GetPane(wxT("tree_content")).Show(evt.GetId() == ID_TreeContent);
m_mgr.GetPane(wxT("sizereport_content")).Show(evt.GetId() == ID_SizeReportContent);
m_mgr.GetPane(wxT("html_content")).Show(evt.GetId() == ID_HTMLContent);
m_mgr.GetPane(wxT("notebook_content")).Show(evt.GetId() == ID_NotebookContent);
m_mgr.Update();
}
void MyFrame::OnDropDownToolbarItem(wxAuiToolBarEvent& evt)
{
if (evt.IsDropDownClicked())
{
wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(evt.GetEventObject());
tb->SetToolSticky(evt.GetId(), true);
// create the popup menu
wxMenu menuPopup;
wxBitmap bmp = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
wxMenuItem* m1 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 1"));
m1->SetBitmap(bmp);
menuPopup.Append(m1);
wxMenuItem* m2 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 2"));
m2->SetBitmap(bmp);
menuPopup.Append(m2);
wxMenuItem* m3 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 3"));
m3->SetBitmap(bmp);
menuPopup.Append(m3);
wxMenuItem* m4 = new wxMenuItem(&menuPopup, 101, _("Drop Down Item 4"));
m4->SetBitmap(bmp);
menuPopup.Append(m4);
// line up our menu with the button
wxRect rect = tb->GetToolRect(evt.GetId());
wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
pt = ScreenToClient(pt);
PopupMenu(&menuPopup, pt);
// make sure the button is "un-stuck"
tb->SetToolSticky(evt.GetId(), false);
}
}
void MyFrame::OnTabAlignment(wxCommandEvent &evt)
{
size_t i, count;
@@ -1545,6 +1627,13 @@ wxString MyFrame::GetIntroText()
"<li>Optional transparent window effects (while dragging or docking)</li>"
"<li>Splittable notebook control</li>"
"</ul>"
"<p><b>What's new in 0.9.4?</b></p>"
"<p>wxAUI 0.9.4, which is bundled with wxWidgets, adds the following features:"
"<ul>"
"<li>New wxAuiToolBar class, a toolbar control which integrates more "
"cleanly with wxAuiFrameManager.</li>"
"<li>Lots of bug fixes</li>"
"</ul>"
"<p><b>What's new in 0.9.3?</b></p>"
"<p>wxAUI 0.9.3, which is now bundled with wxWidgets, adds the following features:"
"<ul>"

View File

@@ -329,30 +329,23 @@ bool DrawingCommand::Undo(void)
IMPLEMENT_DYNAMIC_CLASS(TextEditDocument, wxDocument)
// Since text windows have their own method for saving to/loading from files,
// we override OnSave/OpenDocument instead of Save/LoadObject
bool TextEditDocument::OnSaveDocument(const wxString& filename)
// we override DoSave/OpenDocument instead of Save/LoadObject
bool TextEditDocument::DoSaveDocument(const wxString& filename)
{
TextEditView *view = (TextEditView *)GetFirstView();
if (!view->textsw->SaveFile(filename))
return false;
Modify(false);
#ifdef __WXMAC__
wxFileName fn(filename) ;
fn.MacSetDefaultTypeAndCreator() ;
#endif
return true;
}
bool TextEditDocument::OnOpenDocument(const wxString& filename)
bool TextEditDocument::DoOpenDocument(const wxString& filename)
{
TextEditView *view = (TextEditView *)GetFirstView();
if (!view->textsw->LoadFile(filename))
return false;
SetFilename(filename, true);
Modify(false);
UpdateAllViews();
return true;
}

View File

@@ -93,8 +93,8 @@ public:
wxSTD ostream& SaveObject(wxSTD ostream& stream);
wxSTD istream& LoadObject(wxSTD istream& stream);
*/
virtual bool OnSaveDocument(const wxString& filename);
virtual bool OnOpenDocument(const wxString& filename);
virtual bool DoSaveDocument(const wxString& filename);
virtual bool DoOpenDocument(const wxString& filename);
virtual bool IsModified(void) const;
virtual void Modify(bool mod);

View File

@@ -817,7 +817,7 @@ void MyFrame::OnFileExec(wxCommandEvent& WXUNUSED(event))
s_filename = filename;
wxString ext = filename.AfterFirst(_T('.'));
wxString ext = filename.AfterLast(_T('.'));
wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
if ( !ft )
{

View File

@@ -263,17 +263,15 @@ void MyFrame::OnOpen(wxCommandEvent& WXUNUSED(event))
void MyFrame::OnPrintSmall(wxCommandEvent& WXUNUSED(event))
{
int fontsizes[] = { 4, 6, 8, 10, 12, 20, 24 };
m_Prn->SetFonts(wxEmptyString, wxEmptyString, fontsizes);
m_Prn->SetStandardFonts(8);
}
void MyFrame::OnPrintNormal(wxCommandEvent& WXUNUSED(event))
{
m_Prn->SetFonts(wxEmptyString, wxEmptyString, 0);
m_Prn->SetStandardFonts(12);
}
void MyFrame::OnPrintHuge(wxCommandEvent& WXUNUSED(event))
{
int fontsizes[] = { 20, 26, 28, 30, 32, 40, 44 };
m_Prn->SetFonts(wxEmptyString, wxEmptyString, fontsizes);
m_Prn->SetStandardFonts(28);
}

View File

@@ -50,13 +50,13 @@ WXUNICODEFLAG = u
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "amd64"
DIR_SUFFIX_CPU = _amd64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
DIR_SUFFIX_CPU = _ia64
!endif
!if "$(TARGET_CPU)" == "ia64"
@@ -71,13 +71,13 @@ LIBTYPE_SUFFIX = lib
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "amd64"
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
!if "$(TARGET_CPU)" == "ia64"
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "ia64"

View File

@@ -314,7 +314,6 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
: wxFrame(frame, wxID_ANY, title, pos, size, style)
{
m_canvas = NULL;
SetIcon(wxIcon(sample_xpm));
}
MyFrame::~MyFrame()

View File

@@ -399,7 +399,8 @@ void BitmapComboBoxWidgetsPage::CreateCombo()
for ( unsigned int n = 0; n < count; n++ )
{
items.Add(m_combobox->GetString(n));
bitmaps.Add(new wxBitmap(m_combobox->GetItemBitmap(n)));
wxBitmap bmp = m_combobox->GetItemBitmap(n);
bitmaps.Add(new wxBitmap(bmp));
}
m_sizerCombo->Detach( m_combobox );

View File

@@ -625,6 +625,26 @@
*/
#undef HAVE_GNU_CXX_HASH_MAP
/*
* Define if your compiler has std::unordered_map
*/
#undef HAVE_STD_UNORDERED_MAP
/*
* Define if your compiler has std::unordered_set
*/
#undef HAVE_STD_UNORDERED_SET
/*
* Define if your compiler has std::tr1::unordered_map
*/
#undef HAVE_TR1_UNORDERED_MAP
/*
* Define if your compiler has std::tr1::unordered_set
*/
#undef HAVE_TR1_UNORDERED_SET
/*
* The built-in regex supports advanced REs in additional to POSIX's basic
* and extended. Your system regex probably won't support this, and in this

2630
src/aui/auibar.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1006,7 +1006,7 @@ wxAuiSimpleTabArt::~wxAuiSimpleTabArt()
wxAuiTabArt* wxAuiSimpleTabArt::Clone()
{
return static_cast<wxAuiTabArt*>(new wxAuiSimpleTabArt);
return wx_static_cast(wxAuiTabArt*, new wxAuiSimpleTabArt);
}
@@ -2334,6 +2334,7 @@ BEGIN_EVENT_TABLE(wxAuiTabCtrl, wxControl)
EVT_SET_FOCUS(wxAuiTabCtrl::OnSetFocus)
EVT_KILL_FOCUS(wxAuiTabCtrl::OnKillFocus)
EVT_CHAR(wxAuiTabCtrl::OnChar)
EVT_MOUSE_CAPTURE_LOST(wxAuiTabCtrl::OnCaptureLost)
END_EVENT_TABLE()
@@ -2415,6 +2416,10 @@ void wxAuiTabCtrl::OnLeftDown(wxMouseEvent& evt)
}
}
void wxAuiTabCtrl::OnCaptureLost(wxMouseCaptureLostEvent& WXUNUSED(event))
{
}
void wxAuiTabCtrl::OnLeftUp(wxMouseEvent& evt)
{
if (GetCapture() == this)
@@ -4374,7 +4379,7 @@ void wxAuiNotebook::OnTabButton(wxCommandEvent& command_evt)
{
// if the close button is to the right, use the active
// page selection to determine which page to close
selection = GetSelection();
selection = tabs->GetActivePage();
}
if (selection != -1)

View File

@@ -57,14 +57,14 @@
// wxAuiBlendColour is used by wxAuiStepColour
double wxAuiBlendColour(double fg, double bg, double alpha)
unsigned char wxAuiBlendColour(unsigned char fg, unsigned char bg, double alpha)
{
double result = bg + (alpha * (fg - bg));
if (result < 0.0)
result = 0.0;
if (result > 255)
result = 255;
return result;
return (unsigned char)result;
}
// wxAuiStepColour() it a utility function that simply darkens
@@ -75,35 +75,37 @@ wxColor wxAuiStepColour(const wxColor& c, int ialpha)
{
if (ialpha == 100)
return c;
double r = c.Red(), g = c.Green(), b = c.Blue();
double bg;
unsigned char r = c.Red(),
g = c.Green(),
b = c.Blue();
unsigned char bg;
// ialpha is 0..200 where 0 is completely black
// and 200 is completely white and 100 is the same
// convert that to normal alpha 0.0 - 1.0
ialpha = wxMin(ialpha, 200);
ialpha = wxMax(ialpha, 0);
double alpha = ((double)(ialpha - 100.0))/100.0;
if (ialpha > 100)
{
// blend with white
bg = 255.0;
bg = 255;
alpha = 1.0 - alpha; // 0 = transparent fg; 1 = opaque fg
}
else
else
{
// blend with black
bg = 0.0;
alpha = 1.0 + alpha; // 0 = transparent fg; 1 = opaque fg
bg = 0;
alpha += 1.0; // 0 = transparent fg; 1 = opaque fg
}
r = wxAuiBlendColour(r, bg, alpha);
g = wxAuiBlendColour(g, bg, alpha);
b = wxAuiBlendColour(b, bg, alpha);
return wxColour((unsigned char)r, (unsigned char)g, (unsigned char)b);
return wxColour(r, g, b);
}
@@ -130,7 +132,7 @@ wxBitmap wxAuiBitmapFromBits(const unsigned char bits[], int w, int h,
img.SetMaskColour(123,123,123);
return wxBitmap(img);
}
static void DrawGradientRectangle(wxDC& dc,
const wxRect& rect,
@@ -151,8 +153,8 @@ static void DrawGradientRectangle(wxDC& dc,
for (int i = 0; i <= high; ++i)
{
int r,g,b;
r = start_color.Red() + (high <= 0 ? 0 : (((i*rd*100)/high)/100));
g = start_color.Green() + (high <= 0 ? 0 : (((i*gd*100)/high)/100));
b = start_color.Blue() + (high <= 0 ? 0 : (((i*bd*100)/high)/100));
@@ -172,23 +174,23 @@ static void DrawGradientRectangle(wxDC& dc,
wxString wxAuiChopText(wxDC& dc, const wxString& text, int max_size)
{
wxCoord x,y;
// first check if the text fits with no problems
dc.GetTextExtent(text, &x, &y);
if (x <= max_size)
return text;
size_t i, len = text.Length();
size_t last_good_length = 0;
for (i = 0; i < len; ++i)
{
wxString s = text.Left(i);
s += wxT("...");
dc.GetTextExtent(s, &x, &y);
if (x > max_size)
break;
last_good_length = i;
}
@@ -215,7 +217,7 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
{
base_colour = wxAuiStepColour(base_colour, 92);
}
m_base_colour = base_colour;
wxColor darker1_colour = wxAuiStepColour(base_colour, 85);
wxColor darker2_colour = wxAuiStepColour(base_colour, 75);
@@ -256,11 +258,11 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0x03, 0xF8, 0x01, 0xF0, 0x19, 0xF3,
0xB8, 0xE3, 0xF0, 0xE1, 0xE0, 0xE0, 0xF0, 0xE1, 0xB8, 0xE3, 0x19, 0xF3,
0x01, 0xF0, 0x03, 0xF8, 0x0F, 0xFE, 0xFF, 0xFF };
#elif defined( __WXGTK__)
static unsigned char close_bits[]={
0xff, 0xff, 0xff, 0xff, 0x07, 0xf0, 0xfb, 0xef, 0xdb, 0xed, 0x8b, 0xe8,
0x1b, 0xec, 0x3b, 0xee, 0x1b, 0xec, 0x8b, 0xe8, 0xdb, 0xed, 0xfb, 0xef,
0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
#elif defined( __WXGTK__)
static unsigned char close_bits[]={
0xff, 0xff, 0xff, 0xff, 0x07, 0xf0, 0xfb, 0xef, 0xdb, 0xed, 0x8b, 0xe8,
0x1b, 0xec, 0x3b, 0xee, 0x1b, 0xec, 0x8b, 0xe8, 0xdb, 0xed, 0xfb, 0xef,
0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
#else
static unsigned char close_bits[]={
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xf3, 0xcf, 0xf9,
@@ -277,7 +279,7 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xf0, 0x1f, 0xf0, 0xdf, 0xf7,
0x07, 0xf4, 0x07, 0xf4, 0xf7, 0xf5, 0xf7, 0xf1, 0xf7, 0xfd, 0xf7, 0xfd,
0x07, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
static unsigned char pin_bits[]={
0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xfc,0xdf,0xfc,0xdf,0xfc,
0xdf,0xfc,0xdf,0xfc,0xdf,0xfc,0x0f,0xf8,0x7f,0xff,0x7f,0xff,
@@ -624,9 +626,9 @@ void wxAuiDefaultDockArt::DrawCaption(wxDC& dc, wxWindow *WXUNUSED(window),
if (pane.HasCloseButton())
clip_rect.width -= m_button_size;
if (pane.HasPinButton())
clip_rect.width -= m_button_size;
clip_rect.width -= m_button_size;
if (pane.HasMaximizeButton())
clip_rect.width -= m_button_size;
clip_rect.width -= m_button_size;
wxString draw_text = wxAuiChopText(dc, text, clip_rect.width);

View File

@@ -143,6 +143,11 @@ void wxAuiFloatingFrame::SetPaneWindow(const wxAuiPaneInfo& pane)
SetClientSize(size);
}
if (pane.IsFixed())
{
SetWindowStyleFlag(GetWindowStyleFlag() & ~wxRESIZE_BORDER);
}
}
wxAuiManager* wxAuiFloatingFrame::GetOwnerManager() const

View File

@@ -29,6 +29,7 @@
#include "wx/aui/dockart.h"
#include "wx/aui/floatpane.h"
#include "wx/aui/tabmdi.h"
#include "wx/aui/auibar.h"
#ifndef WX_PRECOMP
#include "wx/panel.h"
@@ -760,7 +761,7 @@ void wxAuiManager::UpdateHintWindowConfig()
{
if (w->IsKindOf(CLASSINFO(wxFrame)))
{
wxFrame* f = static_cast<wxFrame*>(w);
wxFrame* f = wx_static_cast(wxFrame*, w);
can_do_transparent = f->CanSetTransparent();
break;
}
@@ -925,6 +926,8 @@ void wxAuiManager::SetArtProvider(wxAuiDockArt* art_provider)
bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
{
wxASSERT_MSG(window, wxT("NULL window ptrs are not allowed"));
// check if the pane has a valid window
if (!window)
return false;
@@ -993,6 +996,22 @@ bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
pinfo.buttons.Add(button);
}
if (pinfo.HasGripper())
{
if (pinfo.window->IsKindOf(CLASSINFO(wxAuiToolBar)))
{
// prevent duplicate gripper -- both wxAuiManager and wxAuiToolBar
// have a gripper control. The toolbar's built-in gripper
// meshes better with the look and feel of the control than ours,
// so turn wxAuiManager's gripper off, and the toolbar's on.
wxAuiToolBar* tb = wx_static_cast(wxAuiToolBar*, pinfo.window);
pinfo.SetFlag(wxAuiPaneInfo::optionGripper, false);
tb->SetGripperVisible(true);
}
}
if (pinfo.best_size == wxDefaultSize &&
pinfo.window)
{
@@ -1023,6 +1042,8 @@ bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
}
}
return true;
}
@@ -1060,6 +1081,8 @@ bool wxAuiManager::AddPane(wxWindow* window,
bool wxAuiManager::InsertPane(wxWindow* window, const wxAuiPaneInfo& pane_info,
int insert_level)
{
wxASSERT_MSG(window, wxT("NULL window ptrs are not allowed"));
// shift the panes around, depending on the insert level
switch (insert_level)
{
@@ -1120,6 +1143,8 @@ bool wxAuiManager::InsertPane(wxWindow* window, const wxAuiPaneInfo& pane_info,
// method will not destroy the window that is removed.
bool wxAuiManager::DetachPane(wxWindow* window)
{
wxASSERT_MSG(window, wxT("NULL window ptrs are not allowed"));
int i, count;
for (i = 0, count = m_panes.GetCount(); i < count; ++i)
{
@@ -2311,7 +2336,7 @@ wxSizer* wxAuiManager::LayoutAll(wxAuiPaneInfoArray& panes,
cont->Add(middle, 1, wxEXPAND);
else
delete middle;
// find any bottom docks in this layer
@@ -2373,6 +2398,7 @@ void wxAuiManager::GetDockSizeConstraint(double* width_pct, double* height_pct)
void wxAuiManager::Update()
{
m_hover_button = NULL;
m_action_part = NULL;
wxSizer* sizer;
int i, pane_count = m_panes.GetCount();
@@ -2851,7 +2877,8 @@ bool wxAuiManager::DoDrop(wxAuiDockInfoArray& docks,
(part->dock->dock_direction != wxAUI_DOCK_CENTER &&
part->dock->dock_direction != wxAUI_DOCK_NONE)))
{
drop.Float();
if (drop.IsFloatable())
drop.Float();
}
m_skipping = false;
@@ -3564,7 +3591,6 @@ void wxAuiManager::OnFloatingPaneMoved(wxWindow* wnd, wxDirection dir)
wxPoint frame_pos = pane.frame->GetPosition();
wxPoint action_offset(pt.x-frame_pos.x, pt.y-frame_pos.y);
// if a key modifier is pressed while dragging the frame,
// don't dock the window
if (!wxGetKeyState(WXK_CONTROL) && !wxGetKeyState(WXK_ALT))
@@ -3797,7 +3823,7 @@ void wxAuiManager::OnFindManager(wxAuiManagerEvent& evt)
// if we are managing a child frame, get the 'real' manager
if (window->IsKindOf(CLASSINFO(wxAuiFloatingFrame)))
{
wxAuiFloatingFrame* float_frame = static_cast<wxAuiFloatingFrame*>(window);
wxAuiFloatingFrame* float_frame = wx_static_cast(wxAuiFloatingFrame*, window);
evt.SetManager(float_frame->GetOwnerManager());
return;
}
@@ -4175,17 +4201,21 @@ void wxAuiManager::OnLeftUp(wxMouseEvent& event)
{
m_hover_button = NULL;
m_frame->ReleaseMouse();
UpdateButtonOnScreen(m_action_part, event);
// make sure we're still over the item that was originally clicked
if (m_action_part == HitTest(event.GetX(), event.GetY()))
if (m_action_part)
{
// fire button-click event
wxAuiManagerEvent e(wxEVT_AUI_PANE_BUTTON);
e.SetManager(this);
e.SetPane(m_action_part->pane);
e.SetButton(m_action_part->button->button_id);
ProcessMgrEvent(e);
UpdateButtonOnScreen(m_action_part, event);
// make sure we're still over the item that was originally clicked
if (m_action_part == HitTest(event.GetX(), event.GetY()))
{
// fire button-click event
wxAuiManagerEvent e(wxEVT_AUI_PANE_BUTTON);
e.SetManager(this);
e.SetPane(m_action_part->pane);
e.SetButton(m_action_part->button->button_id);
ProcessMgrEvent(e);
}
}
}
else if (m_action == actionClickCaption)
@@ -4248,20 +4278,23 @@ void wxAuiManager::OnMotion(wxMouseEvent& event)
if (m_action == actionResize)
{
wxPoint pos = m_action_part->rect.GetPosition();
if (m_action_part->orientation == wxHORIZONTAL)
pos.y = wxMax(0, event.m_y - m_action_offset.y);
else
pos.x = wxMax(0, event.m_x - m_action_offset.x);
if (m_action_part)
{
wxPoint pos = m_action_part->rect.GetPosition();
if (m_action_part->orientation == wxHORIZONTAL)
pos.y = wxMax(0, event.m_y - m_action_offset.y);
else
pos.x = wxMax(0, event.m_x - m_action_offset.x);
wxRect rect(m_frame->ClientToScreen(pos),
m_action_part->rect.GetSize());
wxRect rect(m_frame->ClientToScreen(pos),
m_action_part->rect.GetSize());
wxScreenDC dc;
if (!m_action_hintrect.IsEmpty())
DrawResizeHint(dc, m_action_hintrect);
DrawResizeHint(dc, rect);
m_action_hintrect = rect;
wxScreenDC dc;
if (!m_action_hintrect.IsEmpty())
DrawResizeHint(dc, m_action_hintrect);
DrawResizeHint(dc, rect);
m_action_hintrect = rect;
}
}
else if (m_action == actionClickCaption)
{
@@ -4271,8 +4304,9 @@ void wxAuiManager::OnMotion(wxMouseEvent& event)
// caption has been clicked. we need to check if the mouse
// is now being dragged. if it is, we need to change the
// mouse action to 'drag'
if (abs(event.m_x - m_action_start.x) > drag_x_threshold ||
abs(event.m_y - m_action_start.y) > drag_y_threshold)
if (m_action_part &&
(abs(event.m_x - m_action_start.x) > drag_x_threshold ||
abs(event.m_y - m_action_start.y) > drag_y_threshold))
{
wxAuiPaneInfo* pane_info = m_action_part->pane;

View File

@@ -128,13 +128,13 @@ wxAuiTabArt* wxAuiMDIParentFrame::GetArtProvider()
{
if (!m_pClientWindow)
return NULL;
return m_pClientWindow->GetArtProvider();
}
wxAuiNotebook* wxAuiMDIParentFrame::GetNotebook() const
{
return static_cast<wxAuiNotebook*>(m_pClientWindow);
return wx_static_cast(wxAuiNotebook*, m_pClientWindow);
}
@@ -205,7 +205,7 @@ bool wxAuiMDIParentFrame::ProcessEvent(wxEvent& event)
if (m_pLastEvt == &event)
return false;
m_pLastEvt = &event;
// let the active child (if any) process the event first.
bool res = false;
if (m_pActiveChild &&
@@ -357,11 +357,11 @@ void wxAuiMDIParentFrame::Tile(wxOrientation orient)
{
wxAuiMDIClientWindow* client_window = GetClientWindow();
wxASSERT_MSG(client_window, wxT("Missing MDI Client Window"));
int cur_idx = client_window->GetSelection();
if (cur_idx == -1)
return;
if (orient == wxVERTICAL)
{
client_window->Split(cur_idx, wxLEFT);
@@ -399,7 +399,7 @@ wxAuiMDIChildFrame::wxAuiMDIChildFrame(wxAuiMDIParentFrame *parent,
const wxString& name)
{
Init();
// There are two ways to create an tabbed mdi child fram without
// making it the active document. Either Show(false) can be called
// before Create() (as is customary on some ports with wxFrame-type
@@ -409,7 +409,7 @@ wxAuiMDIChildFrame::wxAuiMDIChildFrame(wxAuiMDIParentFrame *parent,
// onto the panel underneath.
if (style & wxMINIMIZE)
m_activate_on_create = false;
Create(parent, id, title, wxDefaultPosition, size, 0, name);
}
@@ -431,7 +431,7 @@ wxAuiMDIChildFrame::~wxAuiMDIChildFrame()
pClientWindow->RemovePage(idx);
}
}
#if wxUSE_MENUS
wxDELETE(m_pMenuBar);
#endif // wxUSE_MENUS
@@ -472,7 +472,7 @@ bool wxAuiMDIChildFrame::Create(wxAuiMDIParentFrame* parent,
pClientWindow->AddPage(this, title, m_activate_on_create);
pClientWindow->Refresh();
return true;
}
@@ -490,7 +490,7 @@ bool wxAuiMDIChildFrame::Destroy()
wxActivateEvent event(wxEVT_ACTIVATE, false, GetId());
event.SetEventObject(this);
GetEventHandler()->ProcessEvent(event);
pParentFrame->SetActiveChild(NULL);
pParentFrame->SetChildMenuBar(NULL);
}
@@ -578,15 +578,15 @@ void wxAuiMDIChildFrame::SetIcon(const wxIcon& icon)
wxASSERT_MSG(pParentFrame, wxT("Missing MDI Parent Frame"));
m_icon = icon;
wxBitmap bmp;
bmp.CopyFromIcon(m_icon);
wxAuiMDIClientWindow* pClientWindow = pParentFrame->GetClientWindow();
if (pClientWindow != NULL)
{
int idx = pClientWindow->GetPageIndex(this);
if (idx != -1)
{
pClientWindow->SetPageBitmap((size_t)idx, bmp);
@@ -598,8 +598,8 @@ const wxIcon& wxAuiMDIChildFrame::GetIcon() const
{
return m_icon;
}
void wxAuiMDIChildFrame::Activate()
{
wxAuiMDIParentFrame* pParentFrame = GetMDIParentFrame();
@@ -667,7 +667,7 @@ void wxAuiMDIChildFrame::Init()
bool wxAuiMDIChildFrame::Show(bool show)
{
m_activate_on_create = show;
// do nothing
return true;
}
@@ -732,11 +732,11 @@ bool wxAuiMDIClientWindow::CreateClient(wxAuiMDIParentFrame* parent, long style)
{
SetWindowStyleFlag(style);
wxSize caption_icon_size =
wxSize caption_icon_size =
wxSize(wxSystemSettings::GetMetric(wxSYS_SMALLICON_X),
wxSystemSettings::GetMetric(wxSYS_SMALLICON_Y));
SetUniformBitmapSize(caption_icon_size);
if (!wxAuiNotebook::Create(parent,
wxID_ANY,
wxPoint(0,0),
@@ -764,7 +764,7 @@ void wxAuiMDIClientWindow::PageChanged(int old_selection, int new_selection)
// don't do anything if the page doesn't actually change
if (old_selection == new_selection)
return;
/*
// don't do anything if the new page is already active
if (new_selection != -1)
@@ -773,8 +773,8 @@ void wxAuiMDIClientWindow::PageChanged(int old_selection, int new_selection)
if (child->GetMDIParentFrame()->GetActiveChild() == child)
return;
}*/
// notify old active child that it has been deactivated
if ((old_selection != -1) && (old_selection < (int)GetPageCount()))
{
@@ -785,34 +785,34 @@ void wxAuiMDIClientWindow::PageChanged(int old_selection, int new_selection)
event.SetEventObject(old_child);
old_child->GetEventHandler()->ProcessEvent(event);
}
// notify new active child that it has been activated
if (new_selection != -1)
{
wxAuiMDIChildFrame* active_child = (wxAuiMDIChildFrame*)GetPage(new_selection);
wxASSERT_MSG(active_child, wxT("wxAuiMDIClientWindow::PageChanged - null page pointer"));
wxActivateEvent event(wxEVT_ACTIVATE, true, active_child->GetId());
event.SetEventObject(active_child);
active_child->GetEventHandler()->ProcessEvent(event);
if (active_child->GetMDIParentFrame())
{
active_child->GetMDIParentFrame()->SetActiveChild(active_child);
active_child->GetMDIParentFrame()->SetChildMenuBar(active_child);
}
}
}
void wxAuiMDIClientWindow::OnPageClose(wxAuiNotebookEvent& evt)
{
wxAuiMDIChildFrame* wnd;
wnd = static_cast<wxAuiMDIChildFrame*>(GetPage(evt.GetSelection()));
wxAuiMDIChildFrame*
wnd = wx_static_cast(wxAuiMDIChildFrame*, GetPage(evt.GetSelection()));
wnd->Close();
// regardless of the result of wnd->Close(), we've
// already taken care of the close operations, so
// suppress further processing
@@ -832,5 +832,6 @@ void wxAuiMDIClientWindow::OnSize(wxSizeEvent& evt)
((wxAuiMDIChildFrame *)GetPage(pos))->ApplyMDIChildFrameRect();
}
#endif //wxUSE_AUI
#endif // wxUSE_MDI
#endif // wxUSE_AUI

View File

@@ -1235,7 +1235,7 @@ wxArrayString wxCmdLineParser::ConvertStringToArgs(const wxChar *p)
break;
}
lastBS = *p == _T('\\');
lastBS = !lastBS && *p == _T('\\');
arg += *p;
}

View File

@@ -1138,6 +1138,8 @@ bool wxComboCtrlBase::Enable(bool enable)
m_btn->Enable(enable);
if ( m_text )
m_text->Enable(enable);
Refresh();
return true;
}
@@ -1194,16 +1196,15 @@ void wxComboCtrlBase::SetValidator(const wxValidator& validator)
if ( textCtrl )
textCtrl->SetValidator( validator );
else
wxControl::SetValidator( validator );
}
wxValidator* wxComboCtrlBase::GetValidator()
{
wxTextCtrl* textCtrl = GetTextCtrl();
if ( textCtrl )
return textCtrl->GetValidator();
return wxControl::GetValidator();
return textCtrl ? textCtrl->GetValidator() : wxControl::GetValidator();
}
#endif // wxUSE_VALIDATORS

View File

@@ -147,59 +147,26 @@ wxCUSTOM_TYPE_INFO(wxDateTime, wxToStringConverter<wxDateTime> , wxFromStringCon
#if !defined(WX_TIMEZONE) && !defined(WX_GMTOFF_IN_TM)
#if defined(__WXPALMOS__)
#define WX_GMTOFF_IN_TM
#elif defined(__BORLANDC__) || defined(__MINGW32__) || defined(__VISAGECPP__)
#elif defined(__WXMSW__)
static long wxGetTimeZone()
{
static long s_timezone = MAXLONG; // invalid timezone
if (s_timezone == MAXLONG)
{
TIME_ZONE_INFORMATION info;
GetTimeZoneInformation(&info);
s_timezone = info.Bias * 60; // convert minutes to seconds
}
return s_timezone;
}
#define WX_TIMEZONE wxGetTimeZone()
#elif defined(__VISAGECPP__)
#define WX_TIMEZONE _timezone
#elif defined(__MWERKS__)
long wxmw_timezone = 28800;
#define WX_TIMEZONE wxmw_timezone
#elif defined(__DJGPP__) || defined(__WINE__)
#include <sys/timeb.h>
#include <values.h>
static long wxGetTimeZone()
{
static long timezone = MAXLONG; // invalid timezone
if (timezone == MAXLONG)
{
struct timeb tb;
ftime(&tb);
timezone = tb.timezone;
}
return timezone;
}
#define WX_TIMEZONE wxGetTimeZone()
#elif defined(__DARWIN__)
#define WX_GMTOFF_IN_TM
#elif defined(__WXWINCE__) && defined(__VISUALC8__)
// _timezone is not present in dynamic run-time library
#if 0
// Solution (1): use the function equivalent of _timezone
static long wxGetTimeZone()
{
static long s_Timezone = MAXLONG; // invalid timezone
if (s_Timezone == MAXLONG)
{
int t;
_get_timezone(& t);
s_Timezone = (long) t;
}
return s_Timezone;
}
#define WX_TIMEZONE wxGetTimeZone()
#elif 1
// Solution (2): using GetTimeZoneInformation
static long wxGetTimeZone()
{
static long timezone = MAXLONG; // invalid timezone
if (timezone == MAXLONG)
{
TIME_ZONE_INFORMATION tzi;
::GetTimeZoneInformation(&tzi);
timezone = tzi.Bias;
}
return timezone;
}
#define WX_TIMEZONE wxGetTimeZone()
#endif
#else // unknown platform - try timezone
#define WX_TIMEZONE timezone
#endif

View File

@@ -34,6 +34,7 @@
#include "wx/module.h"
#if wxUSE_GUI
#include "wx/window.h"
#include "wx/control.h"
#include "wx/dc.h"
#include "wx/textctrl.h"

View File

@@ -23,6 +23,7 @@
#include "wx/module.h"
#endif
#include "wx/sysopt.h"
#include "wx/wfstream.h"
#include "wx/mimetype.h"
#include "wx/filename.h"
@@ -62,64 +63,77 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
#if wxUSE_MIMETYPE
static bool s_MinimalMimeEnsured = false;
if (!s_MinimalMimeEnsured)
{
static const wxFileTypeInfo fallbacks[] =
{
wxFileTypeInfo(_T("image/jpeg"),
wxEmptyString,
wxEmptyString,
_T("JPEG image (from fallback)"),
_T("jpg"), _T("jpeg"), _T("JPG"), _T("JPEG"), NULL),
wxFileTypeInfo(_T("image/gif"),
wxEmptyString,
wxEmptyString,
_T("GIF image (from fallback)"),
_T("gif"), _T("GIF"), NULL),
wxFileTypeInfo(_T("image/png"),
wxEmptyString,
wxEmptyString,
_T("PNG image (from fallback)"),
_T("png"), _T("PNG"), NULL),
wxFileTypeInfo(_T("image/bmp"),
wxEmptyString,
wxEmptyString,
_T("windows bitmap image (from fallback)"),
_T("bmp"), _T("BMP"), NULL),
wxFileTypeInfo(_T("text/html"),
wxEmptyString,
wxEmptyString,
_T("HTML document (from fallback)"),
_T("htm"), _T("html"), _T("HTM"), _T("HTML"), NULL),
// must terminate the table with this!
wxFileTypeInfo()
};
wxTheMimeTypesManager->AddFallbacks(fallbacks);
s_MinimalMimeEnsured = true;
}
wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
if ( !ft || !ft -> GetMimeType(&mime) )
{
mime = wxEmptyString;
}
delete ft;
return mime;
#else
if ( ext.IsSameAs(wxT("htm"), false) || ext.IsSameAs(_T("html"), false) )
return wxT("text/html");
if ( ext.IsSameAs(wxT("jpg"), false) || ext.IsSameAs(_T("jpeg"), false) )
return wxT("image/jpeg");
if ( ext.IsSameAs(wxT("gif"), false) )
return wxT("image/gif");
if ( ext.IsSameAs(wxT("png"), false) )
return wxT("image/png");
if ( ext.IsSameAs(wxT("bmp"), false) )
return wxT("image/bmp");
return wxEmptyString;
// Don't use mime types manager if the application doesn't need it and it would be
// cause an unacceptable delay, especially on startup.
bool useMimeTypesManager = true;
#if wxUSE_SYSTEM_OPTIONS
useMimeTypesManager = (wxSystemOptions::GetOptionInt(wxT("filesys.no-mimetypesmanager")) == 0);
#endif
if (useMimeTypesManager)
{
if (!s_MinimalMimeEnsured)
{
static const wxFileTypeInfo fallbacks[] =
{
wxFileTypeInfo(_T("image/jpeg"),
wxEmptyString,
wxEmptyString,
_T("JPEG image (from fallback)"),
_T("jpg"), _T("jpeg"), _T("JPG"), _T("JPEG"), NULL),
wxFileTypeInfo(_T("image/gif"),
wxEmptyString,
wxEmptyString,
_T("GIF image (from fallback)"),
_T("gif"), _T("GIF"), NULL),
wxFileTypeInfo(_T("image/png"),
wxEmptyString,
wxEmptyString,
_T("PNG image (from fallback)"),
_T("png"), _T("PNG"), NULL),
wxFileTypeInfo(_T("image/bmp"),
wxEmptyString,
wxEmptyString,
_T("windows bitmap image (from fallback)"),
_T("bmp"), _T("BMP"), NULL),
wxFileTypeInfo(_T("text/html"),
wxEmptyString,
wxEmptyString,
_T("HTML document (from fallback)"),
_T("htm"), _T("html"), _T("HTM"), _T("HTML"), NULL),
// must terminate the table with this!
wxFileTypeInfo()
};
wxTheMimeTypesManager->AddFallbacks(fallbacks);
s_MinimalMimeEnsured = true;
}
wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
if ( !ft || !ft -> GetMimeType(&mime) )
{
mime = wxEmptyString;
}
delete ft;
return mime;
}
else
#endif
{
if ( ext.IsSameAs(wxT("htm"), false) || ext.IsSameAs(_T("html"), false) )
return wxT("text/html");
if ( ext.IsSameAs(wxT("jpg"), false) || ext.IsSameAs(_T("jpeg"), false) )
return wxT("image/jpeg");
if ( ext.IsSameAs(wxT("gif"), false) )
return wxT("image/gif");
if ( ext.IsSameAs(wxT("png"), false) )
return wxT("image/png");
if ( ext.IsSameAs(wxT("bmp"), false) )
return wxT("image/bmp");
return wxEmptyString;
}
}
@@ -174,8 +188,10 @@ wxString wxFileSystemHandler::GetAnchor(const wxString& location) const
for (int i = l-1; i >= 0; i--) {
c = location[i];
if (c == wxT('#')) return location.Right(l-i-1);
else if ((c == wxT('.')) || (c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':'))) return wxEmptyString;
if (c == wxT('#'))
return location.Right(l-i-1);
else if ((c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':')))
return wxEmptyString;
}
return wxEmptyString;
}

View File

@@ -24,9 +24,15 @@
WX_DECLARE_LIST(wxFontInstance, wxFontInstanceList);
WX_DEFINE_LIST(wxFontInstanceList)
WX_DEFINE_LIST(wxFontBundleList)
WX_DECLARE_HASH_MAP(wxString, wxFontBundle*,
wxStringHash, wxStringEqual,
wxFontBundleHash);
wxFontBundleHashBase);
// in STL build, hash class is typedef to a template, so it can't be forward
// declared, as we do; solve it by having a dummy class:
class wxFontBundleHash : public wxFontBundleHashBase
{
};
// ============================================================================
// implementation
@@ -65,17 +71,14 @@ wxFontInstance *wxFontFaceBase::GetFontInstance(float ptSize, bool aa)
{
wxASSERT_MSG( m_refCnt > 0, _T("font library not loaded!") );
wxFontInstance *i;
wxFontInstanceList::Node *node;
for ( node = m_instances->GetFirst(); node; node = node->GetNext() )
for ( wxFontInstanceList::const_iterator i = m_instances->begin();
i != m_instances->end(); ++i )
{
i = node->GetData();
if ( i->GetPointSize() == ptSize && i->IsAntiAliased() == aa )
return i;
if ( (*i)->GetPointSize() == ptSize && (*i)->IsAntiAliased() == aa )
return *i;
}
i = CreateFontInstance(ptSize, aa);
wxFontInstance *i = CreateFontInstance(ptSize, aa);
m_instances->Append(i);
return i;
}

View File

@@ -580,7 +580,7 @@ void wxGridBagSizer::AdjustForOverflow()
{
wxGBPosition pos(row,col);
wxGBSizerItem* item = FindItemAtPosition(pos);
if ( !item )
if ( !item || !item->ShouldAccountFor() )
continue;
int endrow, endcol;
@@ -623,7 +623,7 @@ void wxGridBagSizer::AdjustForOverflow()
{
wxGBPosition pos(row,col);
wxGBSizerItem* item = FindItemAtPosition(pos);
if ( !item )
if ( !item || !item->ShouldAccountFor() )
continue;
int endrow, endcol;

View File

@@ -186,7 +186,7 @@ bool wxGIFDecoder::ConvertToImage(unsigned int frame, wxImage *image) const
// Get data for current frame
wxSize wxGIFDecoder::GetFrameSize(unsigned int frame) const
wxSize wxGIFDecoder::GetFrameSize(unsigned int frame) const
{
return wxSize(GetFrame(frame)->w, GetFrame(frame)->h);
}
@@ -593,7 +593,7 @@ bool wxGIFDecoder::CanRead(wxInputStream &stream) const
wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
{
unsigned int global_ncolors = 0;
int bits, interl, transparent, i;
int bits, interl, i;
wxAnimationDisposal disposal;
long size;
long delay;
@@ -655,7 +655,7 @@ wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
}
// transparent colour, disposal method and delay default to unused
transparent = -1;
int transparent = -1;
disposal = wxANIM_UNSPECIFIED;
delay = -1;
@@ -705,8 +705,7 @@ wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
delay = 10 * (buf[2] + 256 * buf[3]);
// read transparent colour index, if used
if (buf[1] & 0x01)
transparent = buf[4];
transparent = buf[1] & 0x01 ? buf[4] : -1;
// read disposal method
disposal = (wxAnimationDisposal)(((buf[1] & 0x1C) >> 2) - 1);
@@ -756,8 +755,8 @@ wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
pimg->w = buf[4] + 256 * buf[5];
pimg->h = buf[6] + 256 * buf[7];
if (anim && ((pimg->w == 0) || (pimg->w > (unsigned int)m_szAnimation.GetWidth()) ||
(pimg->h == 0) || (pimg->h > (unsigned int)m_szAnimation.GetHeight())))
if (anim && ((pimg->w == 0) || (pimg->w > (unsigned int)m_szAnimation.GetWidth()) ||
(pimg->h == 0) || (pimg->h > (unsigned int)m_szAnimation.GetHeight())))
{
Destroy();
return wxGIF_INVFORMAT;

View File

@@ -454,9 +454,9 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
wxFileOffset bmpOffset, wxInputStream& stream,
bool verbose, bool IsBmp, bool hasPalette)
{
wxInt32 aDword, rmask = 0, gmask = 0, bmask = 0;
int rshift = 0, gshift = 0, bshift = 0;
int rbits = 0, gbits = 0, bbits = 0;
wxInt32 aDword, rmask = 0, gmask = 0, bmask = 0, amask = 0;
int rshift = 0, gshift = 0, bshift = 0, ashift = 0;
int rbits = 0, gbits = 0, bbits = 0, abits = 0;
wxInt32 dbuf[4];
wxInt8 bbuf[4];
wxUint8 aByte;
@@ -488,11 +488,29 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
{
if ( verbose )
wxLogError( _("BMP: Couldn't allocate memory.") );
if ( cmap )
delete[] cmap;
delete[] cmap;
return false;
}
unsigned char *alpha;
if ( bpp == 32 )
{
// tell the image to allocate an alpha buffer
image->SetAlpha();
alpha = image->GetAlpha();
if ( !alpha )
{
if ( verbose )
wxLogError(_("BMP: Couldn't allocate memory."));
delete[] cmap;
return false;
}
}
else // no alpha
{
alpha = NULL;
}
// Reading the palette, if it exists:
if ( bpp < 16 && ncolors != 0 )
{
@@ -577,9 +595,13 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
rmask = 0x00FF0000;
gmask = 0x0000FF00;
bmask = 0x000000FF;
amask = 0xFF000000;
ashift = 24;
rshift = 16;
gshift = 8;
bshift = 0;
abits = 8;
rbits = 8;
gbits = 8;
bbits = 8;
@@ -815,6 +837,11 @@ bool wxBMPHandler::DoLoadDib(wxImage * image, int width, int height,
ptr[poffset + 1] = temp;
temp = (unsigned char)((aDword & bmask) >> bshift);
ptr[poffset + 2] = temp;
if ( alpha )
{
temp = (unsigned char)((aDword & amask) >> ashift);
alpha[line * width + column] = temp;
}
column++;
}
}

View File

@@ -1274,7 +1274,6 @@ void wxImage::Paste( const wxImage &image, int x, int y )
(GetMaskGreen()==image.GetMaskGreen()) &&
(GetMaskBlue()==image.GetMaskBlue()))))
{
width *= 3;
unsigned char* source_data = image.GetData() + xx*3 + yy*3*image.GetWidth();
int source_step = image.GetWidth()*3;
@@ -1282,11 +1281,10 @@ void wxImage::Paste( const wxImage &image, int x, int y )
int target_step = M_IMGDATA->m_width*3;
for (int j = 0; j < height; j++)
{
memcpy( target_data, source_data, width );
memcpy( target_data, source_data, width*3 );
source_data += source_step;
target_data += target_step;
}
return;
}
// Copy over the alpha channel from the original image
@@ -1315,7 +1313,6 @@ void wxImage::Paste( const wxImage &image, int x, int y )
unsigned char g = image.GetMaskGreen();
unsigned char b = image.GetMaskBlue();
width *= 3;
unsigned char* source_data = image.GetData() + xx*3 + yy*3*image.GetWidth();
int source_step = image.GetWidth()*3;
@@ -1324,7 +1321,7 @@ void wxImage::Paste( const wxImage &image, int x, int y )
for (int j = 0; j < height; j++)
{
for (int i = 0; i < width; i+=3)
for (int i = 0; i < width*3; i+=3)
{
if ((source_data[i] != r) ||
(source_data[i+1] != g) ||

View File

@@ -87,17 +87,15 @@ void RLEencode(unsigned char *p, unsigned int size, wxOutputStream& s)
void RLEdecode(unsigned char *p, unsigned int size, wxInputStream& s)
{
unsigned int i, data, cont;
// Read 'size' bytes. The PCX official specs say there will be
// a decoding break at the end of each scanline (but not at the
// end of each plane inside a scanline). Only use this function
// to read one or more _complete_ scanlines. Else, more than
// 'size' bytes might be read and the buffer might overflow.
while (size > 0)
while (size != 0)
{
data = (unsigned char)s.GetC();
unsigned int data = (unsigned char)s.GetC();
// If ((data & 0xC0) != 0xC0), then the value read is a data
// byte. Else, it is a counter (cont = val & 0x3F) and the
@@ -110,9 +108,11 @@ void RLEdecode(unsigned char *p, unsigned int size, wxInputStream& s)
}
else
{
cont = data & 0x3F;
unsigned int cont = data & 0x3F;
if (cont > size) // can happen only if the file is malformed
break;
data = (unsigned char)s.GetC();
for (i = 1; i <= cont; i++)
for (unsigned int i = 1; i <= cont; i++)
*(p++) = (unsigned char)data;
size -= cont;
}

View File

@@ -2504,7 +2504,13 @@ wxFontEncoding wxLocale::GetSystemEncoding()
// (a.k.a. US-ASCII) which is arguably a bug but keep it like this for
// backwards compatibility and just take care to not return
// wxFONTENCODING_DEFAULT from here as this surely doesn't make sense
if ( enc != wxFONTENCODING_MAX && enc != wxFONTENCODING_DEFAULT )
if ( enc == wxFONTENCODING_DEFAULT )
{
// we don't have wxFONTENCODING_ASCII, so use the closest one
return wxFONTENCODING_ISO8859_1;
}
if ( enc != wxFONTENCODING_MAX )
{
return enc;
}

View File

@@ -61,8 +61,8 @@ wxConnectionBase::wxConnectionBase(const wxConnectionBase& copy)
wxConnectionBase::~wxConnectionBase(void)
{
if ( m_deletebufferwhendone && m_buffer )
delete m_buffer;
if ( m_deletebufferwhendone )
delete [] m_buffer;
}
wxChar *wxConnectionBase::GetBufferAtLeast( size_t bytes )
@@ -73,8 +73,7 @@ wxChar *wxConnectionBase::GetBufferAtLeast( size_t bytes )
{ // need to resize buffer
if ( m_deletebufferwhendone )
{ // we're in charge of buffer, increase it
if ( m_buffer )
delete m_buffer;
delete [] m_buffer;
// the argument specifies **byte size**, but m_buffer is of type
// wxChar. Under unicode: sizeof(wxChar) > 1, so the buffer size is
// bytes / sizeof(wxChar) rounded upwards.

View File

@@ -144,9 +144,9 @@ void wxPickerBase::DoSetToolTip(wxToolTip *tip)
// wxPickerBase - event handlers
// ----------------------------------------------------------------------------
void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent &)
void wxPickerBase::OnTextCtrlKillFocus(wxFocusEvent& event)
{
wxASSERT(m_text);
event.Skip();
// don't leave the textctrl empty
if (m_text->GetValue().empty())

View File

@@ -18,6 +18,17 @@
#if wxUSE_PRINTING_ARCHITECTURE
// change this to 1 to use experimental high-quality printing on Windows
// (NB: this can't be in msw/printwin.cpp because of binary compatibility)
#define wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW 0
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
#if !defined(__WXMSW__) || !wxUSE_IMAGE || !wxUSE_WXDIB
#undef wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
#define wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW 0
#endif
#endif
#include "wx/dcprint.h"
#ifndef WX_PRECOMP
@@ -65,6 +76,19 @@
#endif
#endif // __WXMSW__
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
#include "wx/msw/dib.h"
#include "wx/image.h"
typedef bool (wxPrintPreviewBase::*RenderPageIntoDCFunc)(wxDC&, int);
static bool RenderPageIntoBitmapHQ(wxPrintPreviewBase *preview,
RenderPageIntoDCFunc RenderPageIntoDC,
wxPrinterDC& printerDC,
wxBitmap& bmp, int pageNum,
int pageWidth, int pageHeight);
#endif // wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
//----------------------------------------------------------------------------
// wxPrintFactory
//----------------------------------------------------------------------------
@@ -1469,6 +1493,70 @@ void wxPrintPreviewBase::AdjustScrollbars(wxPreviewCanvas *canvas)
canvas->SetScrollbars(10, 10, scrollUnitsX, scrollUnitsY, 0, 0, true);
}
bool wxPrintPreviewBase::RenderPageIntoDC(wxDC& dc, int pageNum)
{
m_previewPrintout->SetDC(&dc);
m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
// Need to delay OnPreparePrinting() until here, so we have enough
// information.
if (!m_printingPrepared)
{
m_previewPrintout->OnPreparePrinting();
int selFrom, selTo;
m_previewPrintout->GetPageInfo(&m_minPage, &m_maxPage, &selFrom, &selTo);
m_printingPrepared = true;
}
m_previewPrintout->OnBeginPrinting();
if (!m_previewPrintout->OnBeginDocument(m_printDialogData.GetFromPage(), m_printDialogData.GetToPage()))
{
wxMessageBox(_("Could not start document preview."), _("Print Preview Failure"), wxOK);
return false;
}
m_previewPrintout->OnPrintPage(pageNum);
m_previewPrintout->OnEndDocument();
m_previewPrintout->OnEndPrinting();
m_previewPrintout->SetDC(NULL);
return true;
}
bool wxPrintPreviewBase::RenderPageIntoBitmap(wxBitmap& bmp, int pageNum)
{
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
// try high quality rendering first:
static bool s_hqPreviewFailed = false;
if ( !s_hqPreviewFailed )
{
wxPrinterDC printerDC(m_printDialogData.GetPrintData());
if ( RenderPageIntoBitmapHQ(this,
&wxPrintPreviewBase::RenderPageIntoDC,
printerDC,
bmp, pageNum,
m_pageWidth, m_pageHeight) )
{
return true;
}
else
{
wxLogTrace(_T("printing"),
_T("high-quality preview failed, falling back to normal"));
s_hqPreviewFailed = true; // don't bother re-trying
}
}
#endif // wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
wxMemoryDC memoryDC;
memoryDC.SelectObject(bmp);
memoryDC.Clear();
return RenderPageIntoDC(memoryDC, pageNum);
}
bool wxPrintPreviewBase::RenderPage(int pageNum)
{
wxBusyCursor busy;
@@ -1497,44 +1585,15 @@ bool wxPrintPreviewBase::RenderPage(int pageNum)
}
}
wxMemoryDC memoryDC;
memoryDC.SelectObject(*m_previewBitmap);
memoryDC.Clear();
m_previewPrintout->SetDC(&memoryDC);
m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
// Need to delay OnPreparePrinting until here, so we have enough information.
if (!m_printingPrepared)
{
m_previewPrintout->OnPreparePrinting();
int selFrom, selTo;
m_previewPrintout->GetPageInfo(&m_minPage, &m_maxPage, &selFrom, &selTo);
m_printingPrepared = true;
}
m_previewPrintout->OnBeginPrinting();
if (!m_previewPrintout->OnBeginDocument(m_printDialogData.GetFromPage(), m_printDialogData.GetToPage()))
if ( !RenderPageIntoBitmap(*m_previewBitmap, pageNum) )
{
wxMessageBox(_("Could not start document preview."), _("Print Preview Failure"), wxOK);
memoryDC.SelectObject(wxNullBitmap);
delete m_previewBitmap;
m_previewBitmap = NULL;
return false;
}
m_previewPrintout->OnPrintPage(pageNum);
m_previewPrintout->OnEndDocument();
m_previewPrintout->OnEndPrinting();
m_previewPrintout->SetDC(NULL);
memoryDC.SelectObject(wxNullBitmap);
#if wxUSE_STATUSBAR
wxString status;
if (m_maxPage != 0)
@@ -1758,4 +1817,273 @@ void wxPrintPreview::DetermineScaling()
m_pimpl->DetermineScaling();
}
//----------------------------------------------------------------------------
// experimental backport of high-quality preview on Windows
//----------------------------------------------------------------------------
#if wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
// The preview, as implemented in wxPrintPreviewBase (and as used prior to wx3)
// is inexact: it uses screen DC, which has much lower resolution and has
// other properties different from printer DC, so the preview is not quite
// right.
//
// To make matters worse, if the application depends heavily on GetTextExtent()
// or does text layout itself, the output in preview and on paper can be very
// different. In particular, wxHtmlEasyPrinting is affected and the preview
// can be easily off by several pages.
//
// To fix this, we attempt to render the preview into high-resolution bitmap
// using DC with same resolution etc. as the printer DC. This takes lot of
// memory, so the code is more complicated than it could be, but the results
// are much better.
//
// Finally, this code is specific to wxMSW, because it doesn't make sense to
// bother with it on other platforms. Both OSX and modern GNOME/GTK+
// environments have builtin accurate preview (that applications should use
// instead) and the differences between screen and printer DC in wxGTK are so
// large than this trick doesn't help at all.
namespace
{
// If there's not enough memory, we need to render the preview in parts.
// Unfortunately we cannot simply use wxMemoryDC, because it reports its size
// as bitmap's size, and we need to use smaller bitmap while still reporting
// original ("correct") DC size, because printing code frequently uses
// GetSize() to determine scaling factor. This DC class handles this.
class PageFragmentDC : public wxMemoryDC
{
public:
PageFragmentDC(wxDC *printer, wxBitmap& bmp,
const wxPoint& offset,
const wxSize& fullSize)
: wxMemoryDC(printer),
m_offset(offset),
m_fullSize(fullSize)
{
SetDeviceOrigin(0, 0);
SelectObject(bmp);
}
virtual void SetDeviceOrigin(wxCoord x, wxCoord y)
{
wxMemoryDC::SetDeviceOrigin(x - m_offset.x, y - m_offset.y);
}
virtual void DoGetDeviceOrigin(wxCoord *x, wxCoord *y) const
{
wxMemoryDC::DoGetDeviceOrigin(x, y);
if ( x ) *x += m_offset.x;
if ( x ) *y += m_offset.y;
}
virtual void DoGetSize(int *width, int *height) const
{
if ( width )
*width = m_fullSize.x;
if ( height )
*height = m_fullSize.y;
}
private:
wxPoint m_offset;
wxSize m_fullSize;
};
// estimate how big chunks we can render, given available RAM
long ComputeFragmentSize(long printerDepth,
long width,
long height)
{
// Compute the amount of memory needed to generate the preview.
// Memory requirements of RenderPageFragment() are as follows:
//
// (memory DC - always)
// width * height * printerDepth/8
// (wxImage + wxDIB instance)
// width * height * (3 + 4)
// (this could be reduced to *3 if using wxGraphicsContext)
//
// So, given amount of memory M, we can render at most
//
// height = M / (width * (printerDepth/8 + F))
//
// where F is 3 or 7 depending on whether wxGraphicsContext is used or not
wxMemorySize memAvail = wxGetFreeMemory();
if ( memAvail == -1 )
{
// we don't know; 10meg shouldn't be a problem hopefully
memAvail = 10000000;
}
else
{
// limit ourselves to half of available RAM to have a margin for other
// apps, for our rendering code, and for miscalculations
memAvail /= 2;
}
const float perPixel = float(printerDepth)/8 + (3 + 4);
const long perLine = long(width * perPixel);
const long maxstep = (memAvail / perLine).GetValue();
const long step = wxMin(height, maxstep);
wxLogTrace(_T("printing"),
_T("using %liMB of RAM (%li lines) for preview, %li %lipx fragments"),
long((memAvail >> 20).GetValue()),
maxstep,
(height+step-1) / step,
step);
return step;
}
} // anonymous namespace
static bool RenderPageFragment(wxPrintPreviewBase *preview,
RenderPageIntoDCFunc RenderPageIntoDC,
float scaleX, float scaleY,
int *nextFinalLine,
wxPrinterDC& printer,
wxMemoryDC& finalDC,
const wxRect& rect,
int pageWidth, int pageHeight,
int pageNum)
{
// compute 'rect' equivalent in the small final bitmap:
const wxRect smallRect(wxPoint(0, *nextFinalLine),
wxPoint(int(rect.GetRight() * scaleX),
int(rect.GetBottom() * scaleY)));
wxLogTrace(_T("printing"),
_T("rendering fragment of page %i: [%i,%i,%i,%i] scaled down to [%i,%i,%i,%i]"),
pageNum,
rect.x, rect.y, rect.GetRight(), rect.GetBottom(),
smallRect.x, smallRect.y, smallRect.GetRight(), smallRect.GetBottom()
);
// create DC and bitmap compatible with printer DC:
wxBitmap large(rect.width, rect.height, printer);
if ( !large.IsOk() )
return false;
// render part of the page into it:
{
PageFragmentDC memoryDC(&printer, large,
rect.GetPosition(),
wxSize(pageWidth, pageHeight));
if ( !memoryDC.IsOk() )
return false;
memoryDC.Clear();
if ( !(preview->*RenderPageIntoDC)(memoryDC, pageNum) )
return false;
} // release bitmap from memoryDC
// now scale the rendered part down and blit it into final output:
wxImage img;
{
wxDIB dib(large);
if ( !dib.IsOk() )
return false;
large = wxNullBitmap; // free memory a.s.a.p.
img = dib.ConvertToImage();
} // free the DIB now that it's no longer needed, too
if ( !img.IsOk() )
return false;
img.Rescale(smallRect.width, smallRect.height, wxIMAGE_QUALITY_HIGH);
if ( !img.IsOk() )
return false;
wxBitmap bmp(img);
if ( !bmp.IsOk() )
return false;
img = wxNullImage;
finalDC.DrawBitmap(bmp, smallRect.x, smallRect.y);
if ( bmp.IsOk() )
{
*nextFinalLine += smallRect.height;
return true;
}
return false;
}
static bool RenderPageIntoBitmapHQ(wxPrintPreviewBase *preview,
RenderPageIntoDCFunc RenderPageIntoDC,
wxPrinterDC& printerDC,
wxBitmap& bmp, int pageNum,
int pageWidth, int pageHeight)
{
wxLogTrace(_T("printing"), _T("rendering HQ preview of page %i"), pageNum);
if ( !printerDC.IsOk() )
return false;
// compute scale factor
const float scaleX = float(bmp.GetWidth()) / float(pageWidth);
const float scaleY = float(bmp.GetHeight()) / float(pageHeight);
wxMemoryDC bmpDC;
bmpDC.SelectObject(bmp);
bmpDC.Clear();
const int initialStep = ComputeFragmentSize(printerDC.GetDepth(),
pageWidth, pageHeight);
wxRect todo(0, 0, pageWidth, initialStep); // rect to render
int nextFinalLine = 0; // first not-yet-rendered output line
while ( todo.y < pageHeight )
{
todo.SetBottom(wxMin(todo.GetBottom(), pageHeight - 1));
if ( !RenderPageFragment(preview, RenderPageIntoDC,
scaleX, scaleY,
&nextFinalLine,
printerDC,
bmpDC,
todo,
pageWidth, pageHeight,
pageNum) )
{
if ( todo.height < 20 )
{
// something is very wrong if we can't render even at this
// slow space, let's bail out and fall back to low quality
// preview
wxLogTrace(_T("printing"),
_T("it seems that HQ preview doesn't work at all"));
return false;
}
// it's possible our memory calculation was off, or conditions
// changed, or there's not enough _bitmap_ resources; try if using
// smaller bitmap would help:
todo.height /= 2;
wxLogTrace(_T("printing"),
_T("preview of fragment failed, reducing height to %ipx"),
todo.height);
continue; // retry at the same position again
}
// move to the next segment
todo.Offset(0, todo.height);
}
return true;
}
#endif // wxUSE_HIGH_QUALITY_PREVIEW_IN_WXMSW
#endif // wxUSE_PRINTING_ARCHITECTURE

View File

@@ -64,96 +64,106 @@ void wxRadioBoxBase::SetMajorDim(unsigned int majorDim, long style)
int wxRadioBoxBase::GetNextItem(int item, wxDirection dir, long style) const
{
const int itemStart = item;
int count = GetCount(),
numCols = GetColumnCount(),
numRows = GetRowCount();
bool horz = (style & wxRA_SPECIFY_COLS) != 0;
switch ( dir )
do
{
case wxUP:
if ( horz )
{
item -= numCols;
}
else // vertical layout
{
if ( !item-- )
item = count - 1;
}
break;
switch ( dir )
{
case wxUP:
if ( horz )
{
item -= numCols;
}
else // vertical layout
{
if ( !item-- )
item = count - 1;
}
break;
case wxLEFT:
if ( horz )
{
if ( !item-- )
item = count - 1;
}
else // vertical layout
{
item -= numRows;
}
break;
case wxLEFT:
if ( horz )
{
if ( !item-- )
item = count - 1;
}
else // vertical layout
{
item -= numRows;
}
break;
case wxDOWN:
if ( horz )
{
item += numCols;
}
else // vertical layout
{
if ( ++item == count )
item = 0;
}
break;
case wxDOWN:
if ( horz )
{
item += numCols;
}
else // vertical layout
{
if ( ++item == count )
item = 0;
}
break;
case wxRIGHT:
if ( horz )
{
if ( ++item == count )
item = 0;
}
else // vertical layout
{
item += numRows;
}
break;
case wxRIGHT:
if ( horz )
{
if ( ++item == count )
item = 0;
}
else // vertical layout
{
item += numRows;
}
break;
default:
wxFAIL_MSG( _T("unexpected wxDirection value") );
return wxNOT_FOUND;
default:
wxFAIL_MSG( _T("unexpected wxDirection value") );
return wxNOT_FOUND;
}
// ensure that the item is in range [0..count)
if ( item < 0 )
{
// first map the item to the one in the same column but in the last
// row
item += count;
// now there are 2 cases: either it is the first item of the last
// row in which case we need to wrap again and get to the last item
// or we can just go to the previous item
if ( item % (horz ? numCols : numRows) )
item--;
else
item = count - 1;
}
else if ( item >= count )
{
// same logic as above
item -= count;
// ... except that we need to check if this is not the last item,
// not the first one
if ( (item + 1) % (horz ? numCols : numRows) )
item++;
else
item = 0;
}
wxASSERT_MSG( item < count && item >= 0,
_T("logic error in wxRadioBox::GetNextItem()") );
}
// ensure that the item is in range [0..count)
if ( item < 0 )
{
// first map the item to the one in the same column but in the last row
item += count;
// now there are 2 cases: either it is the first item of the last row
// in which case we need to wrap again and get to the last item or we
// can just go to the previous item
if ( item % (horz ? numCols : numRows) )
item--;
else
item = count - 1;
}
else if ( item >= count )
{
// same logic as above
item -= count;
// ... except that we need to check if this is not the last item, not
// the first one
if ( (item + 1) % (horz ? numCols : numRows) )
item++;
else
item = 0;
}
wxASSERT_MSG( item < count && item >= 0,
_T("logic error in wxRadioBox::GetNextItem()") );
// we shouldn't select the non-active items, continue looking for a
// visible and shown one unless we came back to the item we started from in
// which case bail out to avoid infinite loop
while ( !(IsItemShown(item) && IsItemEnabled(item)) && item != itemStart );
return item;
}

View File

@@ -277,12 +277,15 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags)
// translate our flags to regcomp() ones
int flagsRE = 0;
if ( !(flags & wxRE_BASIC) )
{
#ifndef WX_NO_REGEX_ADVANCED
if (flags & wxRE_ADVANCED)
flagsRE |= REG_ADVANCED;
else
#endif
flagsRE |= REG_EXTENDED;
}
if ( flags & wxRE_ICASE )
flagsRE |= REG_ICASE;
if ( flags & wxRE_NOSUB )

View File

@@ -66,6 +66,8 @@
// includes Mac headers
#include "wx/mac/private.h"
#include "wx/thread.h"
#endif
@@ -1957,7 +1959,7 @@ size_t wxMBConv_iconv::GetMBNulLen() const
wxMutexLocker lock(self->m_iconvMutex);
#endif
wchar_t *wnul = L"";
const wchar_t *wnul = L"";
char buf[8]; // should be enough for NUL in any encoding
size_t inLen = sizeof(wchar_t),
outLen = WXSIZEOF(buf);
@@ -2800,10 +2802,14 @@ public:
#else
ubuf = (UniChar*) (buf ? buf : tbuf) ;
#endif
status = TECConvertText(
{
#if wxUSE_THREADS
wxMutexLocker lock( m_MB2WC_guard );
#endif
status = TECConvertText(
m_MB2WC_converter, (ConstTextPtr) psz, byteInLen, &byteInLen,
(TextPtr) ubuf, byteBufferLen, &byteOutLen);
}
#if SIZEOF_WCHAR_T == 4
// we have to terminate here, because n might be larger for the trailing zero, and if UniChar
@@ -2854,10 +2860,15 @@ public:
ubuf = (UniChar*) psz ;
#endif
status = TECConvertText(
{
#if wxUSE_THREADS
wxMutexLocker lock( m_WC2MB_guard );
#endif
status = TECConvertText(
m_WC2MB_converter, (ConstTextPtr) ubuf, byteInLen, &byteInLen,
(TextPtr) (buf ? buf : tbuf), byteBufferLen, &byteOutLen);
}
#if SIZEOF_WCHAR_T == 4
free( ubuf ) ;
#endif
@@ -2898,6 +2909,10 @@ public:
protected :
mutable TECObjectRef m_MB2WC_converter;
mutable TECObjectRef m_WC2MB_converter;
#if wxUSE_THREADS
mutable wxMutex m_MB2WC_guard;
mutable wxMutex m_WC2MB_guard;
#endif
TextEncodingBase m_char_encoding;
TextEncodingBase m_unicode_encoding;
@@ -2958,15 +2973,20 @@ public :
ByteCount dcubufread , dcubufwritten ;
UniChar *dcubuf = (UniChar*) malloc( dcubuflen ) ;
ConvertFromUnicodeToText( m_uni , byteInLen , ubuf ,
kUnicodeDefaultDirectionMask, 0, NULL, NULL, NULL, dcubuflen , &dcubufread , &dcubufwritten , dcubuf ) ;
{
#if wxUSE_THREADS
wxMutexLocker lock( m_WC2MB_guard );
#endif
ConvertFromUnicodeToText( m_uni , byteInLen , ubuf ,
kUnicodeDefaultDirectionMask, 0, NULL, NULL, NULL, dcubuflen , &dcubufread , &dcubufwritten , dcubuf ) ;
// we now convert that decomposed buffer into UTF8
// we now convert that decomposed buffer into UTF8
status = TECConvertText(
status = TECConvertText(
m_WC2MB_converter, (ConstTextPtr) dcubuf, dcubufwritten, &dcubufread,
(TextPtr) (buf ? buf : tbuf), byteBufferLen, &byteOutLen);
}
free( dcubuf );
#if SIZEOF_WCHAR_T == 4
@@ -3015,16 +3035,21 @@ public :
ByteCount dcubufread , dcubufwritten ;
UniChar *dcubuf = (UniChar*) malloc( dcubuflen ) ;
status = TECConvertText(
{
#if wxUSE_THREADS
wxMutexLocker lock( m_MB2WC_guard );
#endif
status = TECConvertText(
m_MB2WC_converter, (ConstTextPtr) psz, byteInLen, &byteInLen,
(TextPtr) dcubuf, dcubuflen, &byteOutLen);
// we have to terminate here, because n might be larger for the trailing zero, and if UniChar
// is not properly terminated we get random characters at the end
dcubuf[byteOutLen / sizeof( UniChar ) ] = 0 ;
// we have to terminate here, because n might be larger for the trailing zero, and if UniChar
// is not properly terminated we get random characters at the end
dcubuf[byteOutLen / sizeof( UniChar ) ] = 0 ;
// now from the decomposed UniChar to properly composed uniChar
ConvertFromUnicodeToText( m_uniBack , byteOutLen , dcubuf ,
// now from the decomposed UniChar to properly composed uniChar
ConvertFromUnicodeToText( m_uniBack , byteOutLen , dcubuf ,
kUnicodeDefaultDirectionMask, 0, NULL, NULL, NULL, dcubuflen , &dcubufread , &dcubufwritten , ubuf ) ;
}
free( dcubuf );
byteOutLen = dcubufwritten ;
@@ -3205,6 +3230,16 @@ wxCSConv::wxCSConv(const wxChar *charset)
#if wxUSE_FONTMAP
m_encoding = wxFontMapperBase::GetEncodingFromName(charset);
if ( m_encoding == wxFONTENCODING_MAX )
{
// set to unknown/invalid value
m_encoding = wxFONTENCODING_SYSTEM;
}
else if ( m_encoding == wxFONTENCODING_DEFAULT )
{
// wxFONTENCODING_DEFAULT is same as US-ASCII in this context
m_encoding = wxFONTENCODING_ISO8859_1;
}
#else
m_encoding = wxFONTENCODING_SYSTEM;
#endif
@@ -3506,7 +3541,7 @@ void wxCSConv::CreateConvIfNeeded() const
if ( !m_name && m_encoding == wxFONTENCODING_SYSTEM )
{
#if wxUSE_INTL
self->m_name = wxStrdup(wxLocale::GetSystemEncodingName());
self->m_encoding = wxLocale::GetSystemEncoding();
#else
// fallback to some reasonable default:
self->m_encoding = wxFONTENCODING_ISO8859_1;
@@ -3540,7 +3575,19 @@ size_t wxCSConv::ToWChar(wchar_t *dst, size_t dstLen,
return m_convReal->ToWChar(dst, dstLen, src, srcLen);
// latin-1 (direct)
return wxMBConv::ToWChar(dst, dstLen, src, srcLen);
if ( srcLen == wxNO_LEN )
srcLen = strlen(src) + 1; // take trailing NUL too
if ( dst )
{
if ( dstLen < srcLen )
return wxCONV_FAILED;
for ( size_t n = 0; n < srcLen; n++ )
dst[n] = (unsigned char)(src[n]);
}
return srcLen;
}
size_t wxCSConv::FromWChar(char *dst, size_t dstLen,
@@ -3552,57 +3599,45 @@ size_t wxCSConv::FromWChar(char *dst, size_t dstLen,
return m_convReal->FromWChar(dst, dstLen, src, srcLen);
// latin-1 (direct)
return wxMBConv::FromWChar(dst, dstLen, src, srcLen);
if ( srcLen == wxNO_LEN )
srcLen = wxWcslen(src) + 1;
if ( dst )
{
if ( dstLen < srcLen )
return wxCONV_FAILED;
for ( size_t n = 0; n < srcLen; n++ )
{
if ( src[n] > 0xFF )
return wxCONV_FAILED;
dst[n] = (char)src[n];
}
}
else // still need to check the input validity
{
for ( size_t n = 0; n < srcLen; n++ )
{
if ( src[n] > 0xFF )
return wxCONV_FAILED;
}
}
return srcLen;
}
size_t wxCSConv::MB2WC(wchar_t *buf, const char *psz, size_t n) const
{
CreateConvIfNeeded();
if (m_convReal)
return m_convReal->MB2WC(buf, psz, n);
// latin-1 (direct)
size_t len = strlen(psz);
if (buf)
{
for (size_t c = 0; c <= len; c++)
buf[c] = (unsigned char)(psz[c]);
}
return len;
// this function exists only for ABI-compatibility in 2.8 branch
return wxMBConv::MB2WC(buf, psz, n);
}
size_t wxCSConv::WC2MB(char *buf, const wchar_t *psz, size_t n) const
{
CreateConvIfNeeded();
if (m_convReal)
return m_convReal->WC2MB(buf, psz, n);
// latin-1 (direct)
const size_t len = wxWcslen(psz);
if (buf)
{
for (size_t c = 0; c <= len; c++)
{
if (psz[c] > 0xFF)
return wxCONV_FAILED;
buf[c] = (char)psz[c];
}
}
else
{
for (size_t c = 0; c <= len; c++)
{
if (psz[c] > 0xFF)
return wxCONV_FAILED;
}
}
return len;
// this function exists only for ABI-compatibility in 2.8 branch
return wxMBConv::WC2MB(buf, psz, n);
}
size_t wxCSConv::GetMBNulLen() const

View File

@@ -1492,8 +1492,8 @@ wxString wxString::AfterFirst(wxChar ch) const
}
// replace first (or all) occurences of some substring with another one
size_t wxString::Replace(const wxChar *szOld,
const wxChar *szNew, bool bReplaceAll)
size_t
wxString::Replace(const wxChar *szOld, const wxChar *szNew, bool bReplaceAll)
{
// if we tried to replace an empty string we'd enter an infinite loop below
wxCHECK_MSG( szOld && *szOld && szNew, 0,
@@ -1501,33 +1501,48 @@ size_t wxString::Replace(const wxChar *szOld,
size_t uiCount = 0; // count of replacements made
size_t uiOldLen = wxStrlen(szOld);
size_t uiNewLen = wxStrlen(szNew);
size_t dwPos = 0;
while ( this->c_str()[dwPos] != wxT('\0') )
// optimize the special common case of replacing one character with another
// one
if ( szOld[1] == '\0' && (szNew[0] != '\0' && szNew[1] == '\0') )
{
//DO NOT USE STRSTR HERE
//this string can contain embedded null characters,
//so strstr will function incorrectly
dwPos = find(szOld, dwPos);
if ( dwPos == npos )
break; // exit the loop
else
// this loop is the simplified version of the one below
for ( size_t pos = 0; ; )
{
//replace this occurance of the old string with the new one
replace(dwPos, uiOldLen, szNew, uiNewLen);
pos = find(*szOld, pos);
if ( pos == npos )
break;
//move up pos past the string that was replaced
dwPos += uiNewLen;
(*this)[pos++] = *szNew;
//increase replace count
++uiCount;
uiCount++;
if ( !bReplaceAll )
break;
}
}
else // general case
{
const size_t uiOldLen = wxStrlen(szOld);
const size_t uiNewLen = wxStrlen(szNew);
for ( size_t pos = 0; ; )
{
pos = find(szOld, pos);
if ( pos == npos )
break;
// replace this occurrence of the old string with the new one
replace(pos, uiOldLen, szNew, uiNewLen);
// move past the string that was replaced
pos += uiNewLen;
// increase replace count
uiCount++;
// stop now?
if ( !bReplaceAll )
break; // exit the loop
break;
}
}

View File

@@ -107,9 +107,9 @@ wxFileOffset wxFileInputStream::OnSysTell() const
return m_file->Tell();
}
bool wxFileInputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
bool wxFileInputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
}
// ----------------------------------------------------------------------------
@@ -183,9 +183,9 @@ wxFileOffset wxFileOutputStream::GetLength() const
return m_file->Length();
}
bool wxFileOutputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
bool wxFileOutputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
}
// ----------------------------------------------------------------------------
@@ -220,9 +220,16 @@ size_t wxTempFileOutputStream::OnSysWrite(const void *buffer, size_t size)
// ----------------------------------------------------------------------------
wxFileStream::wxFileStream(const wxString& fileName)
: wxFileInputStream(fileName)
: wxFileInputStream(),
wxFileOutputStream()
{
wxFileOutputStream::m_file = wxFileInputStream::m_file;
wxFileOutputStream::m_file =
wxFileInputStream::m_file = new wxFile(fileName, wxFile::read_write);
// this is a bit ugly as streams are symmetric but we still have to delete
// the file we created above exactly once so we decide to (arbitrarily) do
// it in wxFileInputStream
wxFileInputStream::m_file_destroy = true;
}
#endif //wxUSE_FILE
@@ -300,9 +307,9 @@ wxFileOffset wxFFileInputStream::OnSysTell() const
return m_file->Tell();
}
bool wxFFileInputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
bool wxFFileInputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
}
// ----------------------------------------------------------------------------
@@ -386,9 +393,9 @@ wxFileOffset wxFFileOutputStream::GetLength() const
return m_file->Length();
}
bool wxFFileOutputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
bool wxFFileOutputStream::IsOk() const
{
return (wxStreamBase::IsOk() && m_file->IsOpened());
}
// ----------------------------------------------------------------------------
@@ -396,9 +403,14 @@ bool wxFFileOutputStream::IsOk() const
// ----------------------------------------------------------------------------
wxFFileStream::wxFFileStream(const wxString& fileName)
: wxFFileInputStream(fileName)
: wxFFileInputStream(),
wxFFileOutputStream()
{
wxFFileOutputStream::m_file = wxFFileInputStream::m_file;
wxFFileOutputStream::m_file =
wxFFileInputStream::m_file = new wxFFile(fileName, _T("w+b"));
// see comment in wxFileStream ctor
wxFFileInputStream::m_file_destroy = true;
}
#endif //wxUSE_FFILE

View File

@@ -2363,7 +2363,7 @@ void wxWindowBase::OnMiddleClick( wxMouseEvent& event )
msg.Printf(_T("wxWidgets Library (%s port)\n")
_T("Version %d.%d.%d%s%s, compiled at %s %s\n")
_T("Runtime version of toolkit used is %d.%d.%s\n")
_T("Copyright (c) 1995-2007 wxWidgets team"),
_T("Copyright (c) 1995-2008 wxWidgets team"),
wxPlatformInfo::Get().GetPortIdName().c_str(),
wxMAJOR_VERSION,
wxMINOR_VERSION,

View File

@@ -108,6 +108,7 @@ license is as follows:
#include "wx/hashmap.h"
#include "wx/stream.h"
#include "wx/image.h"
#include "wx/palette.h"
#endif
#include <string.h>
@@ -808,6 +809,24 @@ wxImage wxXPMDecoder::ReadData(const char* const* xpm_data)
}
}
#if wxUSE_PALETTE
unsigned char* r = new unsigned char[colors_cnt];
unsigned char* g = new unsigned char[colors_cnt];
unsigned char* b = new unsigned char[colors_cnt];
for (it = clr_tbl.begin(), i = 0; it != clr_tbl.end(); it++, i++)
{
r[i] = it->second.R;
g[i] = it->second.G;
b[i] = it->second.B;
}
wxASSERT(i == colors_cnt);
img.SetPalette(wxPalette(colors_cnt, r, g, b));
delete[] r;
delete[] g;
delete[] b;
#endif // wxUSE_PALETTE
return img;
}

View File

@@ -135,7 +135,9 @@ bool wxApp::Yield(bool onlyIfNeeded)
s_inYield = true;
#if wxUSE_LOG
wxLog::Suspend();
#endif // wxUSE_LOG
// A guarentee that there will be an active event loop:
wxEventLoopGuarantor dummyLoopIfNeeded;
@@ -146,7 +148,9 @@ bool wxApp::Yield(bool onlyIfNeeded)
// OnUpdateUI() which is a nice (and desired) side effect)
while ( ProcessIdle() ) {}
#if wxUSE_LOG
wxLog::Resume();
#endif // wxUSE_LOG
s_inYield = false;

View File

@@ -25,6 +25,7 @@
#ifndef WX_PRECOMP
#include "wx/dc.h"
#include "wx/dcmemory.h"
#include "wx/log.h"
#endif

View File

@@ -26,6 +26,7 @@
#include "wx/dcclient.h"
#ifndef WX_PRECOMP
#include "wx/toplevel.h"
#include "wx/window.h"
#endif

View File

@@ -31,7 +31,7 @@
// wxScreenDC
//-----------------------------------------------------------------------------
#warning "FIXME: this doesn't work (neither single app nor multiapp core)
#warning "FIXME: this doesn't work (neither single app nor multiapp core)"
// FIXME: maybe use a subsurface as well?
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxDC)

View File

@@ -27,6 +27,7 @@
#include "wx/thread.h"
#include "wx/timer.h"
#include "wx/toplevel.h"
#include "wx/private/socketevtdispatch.h"
#include "wx/dfb/private.h"

Some files were not shown because too many files have changed in this diff Show More