]> git.saurik.com Git - wxWidgets.git/log
wxWidgets.git
13 years agoAdded option to TIFF handler for specifying the photometric interpretation.
Dimitri Schoolwerth [Fri, 19 Aug 2011 03:47:40 +0000 (03:47 +0000)] 
Added option to TIFF handler for specifying the photometric interpretation.

Added option wxIMAGE_OPTION_TIFF_PHOTOMETRIC for reading and writing TIFF images. This is mostly for being able to distinguish between PHOTOMETRIC_MINISBLACK (chocolate flavour) and PHOTOMETRIC_MINISWHITE (vanilla) as currently the flavour used was fixed. It applies to greyscale as well as black and white images. Added unit tests to verify the written photometric value.

Also see #13194.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdded support for saving greyscale TIFF images.
Dimitri Schoolwerth [Fri, 19 Aug 2011 02:35:48 +0000 (02:35 +0000)] 
Added support for saving greyscale TIFF images.

When saving with a samples per pixel value of 1 the TIFF handler still treated the image as RGB, resulting in corrupted images. Handle the greyscale case and added a unit test for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoChanged TIFF handler's monochrome conversion to look at the green channel instead...
Dimitri Schoolwerth [Fri, 19 Aug 2011 02:27:11 +0000 (02:27 +0000)] 
Changed TIFF handler's monochrome conversion to look at the green channel instead of red.

It's common when reducing a coloured image to greyscale or black and white to give the green channel more significance. Since we're only looking at a single channel use the green one instead of red.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFixed crash when saving as a monochrome TIFF image with incomplete options set.
Dimitri Schoolwerth [Fri, 19 Aug 2011 02:00:25 +0000 (02:00 +0000)] 
Fixed crash when saving as a monochrome TIFF image with incomplete options set.

When setting only wxIMAGE_OPTION_TIFF_BITSPERSAMPLE to 1 the used samples per pixel (wxIMAGE_OPTION_TIFF_SAMPLESPERPIXEL) would still be set to 3. This is invalid and confuses libtiff, resulting in a crash ("possible heap corruption" during _TIFFfree using WinXP+MSVC8). Set the used samples per pixel to 1 explicitly in cases where only bits per sample is set to 1. Added a unit test to check for this problem (and verify the bits per sample from the saved image is indeed 1).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoNo code changes.
Dimitri Schoolwerth [Fri, 19 Aug 2011 01:31:07 +0000 (01:31 +0000)] 
No code changes.

Renamed variable bpp (bits per pixel) in TIFF handler to what it actually represents: bps (bits per sample).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoRenamed the options specific to the TIFF handler.
Dimitri Schoolwerth [Fri, 19 Aug 2011 01:19:21 +0000 (01:19 +0000)] 
Renamed the options specific to the TIFF handler.

The loading/saving options that are specific for TIFF were in the form of wxIMAGE_OPTION_<name> while all other non-generic options use the form wxIMAGE_OPTION_<imagetype>_<name>. Renamed the TIFF options to the form wxIMAGE_OPTION_TIFF_<name> and kept the old names for backwards compatibility.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoimproved wxImage documentation.
Dimitri Schoolwerth [Fri, 19 Aug 2011 01:13:16 +0000 (01:13 +0000)] 
improved wxImage documentation.

moved description of wxIMAGE_OPTION_GIF_COMMENT from wxImage::GetOptionInt documentation to wxImage::GetOption because the value of the GIF option is a string, not int.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoImproved saving of TIFF monochrome images.
Dimitri Schoolwerth [Fri, 19 Aug 2011 01:08:36 +0000 (01:08 +0000)] 
Improved saving of TIFF monochrome images.

When reducing an RGB image to black and white any non-black pixel was treated as white resulting in mostly white images. Set the threshold to 127 instead to improve the looks of saved monochrome TIFF images.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFixed saving TIFF images to wxMemoryOutputStream.
Dimitri Schoolwerth [Thu, 18 Aug 2011 13:15:43 +0000 (13:15 +0000)] 
Fixed saving TIFF images to wxMemoryOutputStream.

Libtiff attempts to seek past the end of a stream and the behaviour for this can vary per stream implementation. Fixed failure to seek by filling the gap between the end of stream and new seek position with zeroes. Enabled a unit test which so far was disabled due to wxMemoryOutputStream failing to save a TIFF because of the seeking problem.

Also closes #4089.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoImproved BMP decoding.
Dimitri Schoolwerth [Wed, 17 Aug 2011 21:01:09 +0000 (21:01 +0000)] 
Improved BMP decoding.

The BMP decoder did not handle images that are not stored upside down but straight up (in which case the height is negative). Also with RLE4 or RLE8 compressed images the 'end of scanline' RLE marker was not handled correctly. Fixed the issues and added a unit test for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoUse correct format specifier for thread id in the sample.
Vadim Zeitlin [Wed, 17 Aug 2011 10:35:29 +0000 (10:35 +0000)] 
Use correct format specifier for thread id in the sample.

Thread id is an (unsigned) long, not just unsigned, so use "%lx" to print it
instead of "%x" to avoid asserts in formatting code.

Closes #13404.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoRestore stock item labels mistakenly removed by r68641.
Vadim Zeitlin [Wed, 17 Aug 2011 10:35:25 +0000 (10:35 +0000)] 
Restore stock item labels mistakenly removed by r68641.

The patch adding separate string for the labels with mnemonics and the ones
without them has somehow managed to remove entries for 10 stock ids.

Restore them now.

Closes #13403.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoBetter text control non-selection solution
Julian Smart [Wed, 17 Aug 2011 08:38:00 +0000 (08:38 +0000)] 
Better text control non-selection solution

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoImplemented non-selection of content when setting focus via the keyboard.
Julian Smart [Tue, 16 Aug 2011 20:52:15 +0000 (20:52 +0000)] 
Implemented non-selection of content when setting focus via the keyboard.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoadapting to new ctrl constant handling on OSX
Stefan Csomor [Tue, 16 Aug 2011 13:46:56 +0000 (13:46 +0000)] 
adapting to new ctrl constant handling on OSX

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoadapting to new ctrl constant handling on OSX
Stefan Csomor [Tue, 16 Aug 2011 13:45:05 +0000 (13:45 +0000)] 
adapting to new ctrl constant handling on OSX

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoadapting to new ctrl constant handling on OSX
Stefan Csomor [Tue, 16 Aug 2011 13:36:24 +0000 (13:36 +0000)] 
adapting to new ctrl constant handling on OSX

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agosupporting full style mask
Stefan Csomor [Tue, 16 Aug 2011 12:42:56 +0000 (12:42 +0000)] 
supporting full style mask

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agowxMSW compilation fix when not using PCH.
Vadim Zeitlin [Tue, 16 Aug 2011 12:24:28 +0000 (12:24 +0000)] 
wxMSW compilation fix when not using PCH.

Add missing "wx/menu.h" include.

Coses #13399.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoadjust init to standard
Stefan Csomor [Tue, 16 Aug 2011 12:17:59 +0000 (12:17 +0000)] 
adjust init to standard

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agosupport for raw ctrl shortcut
Stefan Csomor [Tue, 16 Aug 2011 12:17:13 +0000 (12:17 +0000)] 
support for raw ctrl shortcut

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoemulate more arrow keys on non msw platforms
Stefan Csomor [Tue, 16 Aug 2011 12:01:27 +0000 (12:01 +0000)] 
emulate more arrow keys on non msw platforms

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoadapt defines for ctrl/command key
Stefan Csomor [Tue, 16 Aug 2011 12:00:52 +0000 (12:00 +0000)] 
adapt defines for ctrl/command key

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoadapt defines
Stefan Csomor [Tue, 16 Aug 2011 11:55:39 +0000 (11:55 +0000)] 
adapt defines

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAvoid creating rect with negative size while clipping to DC size.
Paul Cornett [Tue, 16 Aug 2011 07:02:37 +0000 (07:02 +0000)] 
Avoid creating rect with negative size while clipping to DC size.
Also, don't convert result of wxDC::GetSize() to device coords, it's already device coords.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix return value of wxMBConvUTF8::ToWChar() when not using MAP_INVALID_UTF8_NOT.
Vadim Zeitlin [Sun, 14 Aug 2011 19:39:31 +0000 (19:39 +0000)] 
Fix return value of wxMBConvUTF8::ToWChar() when not using MAP_INVALID_UTF8_NOT.

wxMBConvUTF8::ToWChar() was off by 1 when the input length was explicitly
specified, the extra NUL should only be added in the implicit length case.

This bug didn't occur for the default wxMBConvUTF8 object as it simply
forwarded to the base class wxMBConvStrictUTF8 implementation but it happened
when MAP_INVALID_UTF8_TO_OCTAL or MAP_INVALID_UTF8_TO_PUA was used.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agofixing comment
Stefan Csomor [Sun, 14 Aug 2011 15:43:30 +0000 (15:43 +0000)] 
fixing comment

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agofixing open application event handling, fixes #13397
Stefan Csomor [Sun, 14 Aug 2011 15:42:35 +0000 (15:42 +0000)] 
fixing open application event handling, fixes #13397

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoadding two missing strings (used in docview)
Stefan Csomor [Sun, 14 Aug 2011 15:41:10 +0000 (15:41 +0000)] 
adding two missing strings (used in docview)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agousing proper cmd constant
Stefan Csomor [Sun, 14 Aug 2011 11:55:36 +0000 (11:55 +0000)] 
using proper cmd constant

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agosimplify global cursor setting
Paul Cornett [Sat, 13 Aug 2011 16:17:59 +0000 (16:17 +0000)] 
simplify global cursor setting

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix bitmap position attribute name in XRC handler.
Vadim Zeitlin [Sat, 13 Aug 2011 13:54:26 +0000 (13:54 +0000)] 
Fix bitmap position attribute name in XRC handler.

Bitmap position attribute was called "bitmapposition" in the documentation and
in the code that generated an error message for a wrong value in it but was
inexplicably called "direction" in the code that really looked it up.

This seems to be just a straight typo from the original r61065. Surprising as
it is that it wasn't noticed before, do correct it now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoNo changes, just remove gratuitous inefficiency from generic wxDVC.
Vadim Zeitlin [Fri, 12 Aug 2011 14:09:41 +0000 (14:09 +0000)] 
No changes, just remove gratuitous inefficiency from generic wxDVC.

Don't return wxDataViewMainWindow::m_selection array by value, returning a
const reference to it is enough and avoids completely unnecessary memory
allocations and copying of potentially large amounts of data.

Also make wxDataViewMainWindow::GetSelections() const.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix compilation of generic wxDVC code when not using STL containers.
Vadim Zeitlin [Fri, 12 Aug 2011 14:09:37 +0000 (14:09 +0000)] 
Fix compilation of generic wxDVC code when not using STL containers.

wx sorted containers don't implement iterators so use indices to iterate over
wxDataViewMainWindow::m_selection, just as r68613 already did in another place.

Closes #13388.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoremove unneeded gdk_window_get_pointer() call
Paul Cornett [Fri, 12 Aug 2011 05:45:59 +0000 (05:45 +0000)] 
remove unneeded gdk_window_get_pointer() call

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agopass proper window to gdk_window_get_pointer(), NULL does not work with GTK3
Paul Cornett [Fri, 12 Aug 2011 05:33:59 +0000 (05:33 +0000)] 
pass proper window to gdk_window_get_pointer(), NULL does not work with GTK3

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoUse separate strings for stock labels with and without mnemonics.
Vadim Zeitlin [Thu, 11 Aug 2011 10:56:05 +0000 (10:56 +0000)] 
Use separate strings for stock labels with and without mnemonics.

Obtaining the string without mnemonics by simply removing "&" characters from
the string containing mnemonics doesn't work for some languages, notably
Chinese where the convention is to use "Chinese Text (&M)" for the labels with
"M" being the ASCII mnemonic and just "Chinese Text" and not "Chinese Text (M)"
should be used if wxSTOCK_WITH_MNEMONIC flag is not specified.

Fix the fundamental problem by using separate strings for the two cases.
Translations still need to be updated to really correct the labels appearance.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFixed wxOSX build.
Dimitri Schoolwerth [Thu, 11 Aug 2011 00:39:18 +0000 (00:39 +0000)] 
Fixed wxOSX build.

Since r68621 dataview.cpp didn't compile anymore (at least with wxOSX-Carbon). Fixed by explicitly using wxDataViewItem's void * constructor in a few cases.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoBasque translations update from Xabier Aramendi.
Vadim Zeitlin [Wed, 10 Aug 2011 21:57:05 +0000 (21:57 +0000)] 
Basque translations update from Xabier Aramendi.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdd some basic tests for wxDataViewCtrl selection handling.
Václav Slavík [Wed, 10 Aug 2011 15:24:25 +0000 (15:24 +0000)] 
Add some basic tests for wxDataViewCtrl selection handling.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix selection handling wxDataViewMainWindow::ItemDeleted().
Václav Slavík [Wed, 10 Aug 2011 15:24:19 +0000 (15:24 +0000)] 
Fix selection handling wxDataViewMainWindow::ItemDeleted().

The code to update m_selection was too aggressive in the virtual list
case, when it simply cleared it, and broken for single-item selection in
the general case.
Fixed to recompute selection properly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoMake the wxDataViewItem(void*) constructor explicit.
Václav Slavík [Wed, 10 Aug 2011 15:21:22 +0000 (15:21 +0000)] 
Make the wxDataViewItem(void*) constructor explicit.

Not having this as an implicit one made it possible to create
wxDataViewItem from any pointer without realizing it, leading to hard to
debug crashes later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdded the ability to deselect attributes in the font dialog
Julian Smart [Wed, 10 Aug 2011 14:06:28 +0000 (14:06 +0000)] 
Added the ability to deselect attributes in the font dialog

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdded NSApplicationDelegate's openFiles for wxOSX-Cocoa.
Dimitri Schoolwerth [Tue, 9 Aug 2011 22:17:12 +0000 (22:17 +0000)] 
Added NSApplicationDelegate's openFiles for wxOSX-Cocoa.

openFiles (available since OS X 10.3) replaces using the openFile method. It allows for more convenient handling of multiple drops and knowing in advance how much files/folders are dropped instead of openFile with which you only get to respond to a single file/folder drop at a time. By default openFiles calls the newly added MacOpenFiles which calls MacOpenFile multiple times, so ordinarily the behaviour is backwards compatible (both on wxOSX Cocoa and Carbon).

The openFile instance method has been removed because it doesn't seem to be called anymore: neither when dropping a single file on the application in the dock or Finder nor when passed as a command-line argument.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoDon't reset wxTLW::m_iconized when hiding the window in wxMSW.
Vadim Zeitlin [Tue, 9 Aug 2011 15:46:28 +0000 (15:46 +0000)] 
Don't reset wxTLW::m_iconized when hiding the window in wxMSW.

Calling Hide() on an iconized window wrongly reset its m_iconized flag but
hiding the window shouldn't affect it.

Closes #13373.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoDon't use iterators with wxDataViewSelection.
Václav Slavík [Tue, 9 Aug 2011 11:35:32 +0000 (11:35 +0000)] 
Don't use iterators with wxDataViewSelection.

They aren't implemented when using wx's homegrown sorted containers
and adding support is probably more trouble than it's worth.

Fixes #13388.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoNo changes, just correct the helpview sample name in comment.
Vadim Zeitlin [Tue, 9 Aug 2011 11:25:09 +0000 (11:25 +0000)] 
No changes, just correct the helpview sample name in comment.

"printing.cpp" was used for whatever reason.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoDon't manually centre dialogs created with default position in wxMSW.
Vadim Zeitlin [Mon, 8 Aug 2011 15:15:50 +0000 (15:15 +0000)] 
Don't manually centre dialogs created with default position in wxMSW.

We always centered the dialogs on the main display which was wrong if the
parent window was on another one. Instead of fixing it, simply don't centre
them at all and let Windows position them, there is no reason to change the
default behaviour.

Closes #13387.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoCheck for invalid items in generic wxDataViewCtrl::GetSelections().
Václav Slavík [Mon, 8 Aug 2011 10:23:19 +0000 (10:23 +0000)] 
Check for invalid items in generic wxDataViewCtrl::GetSelections().

This shouldn't normally happen, but if some bug causes it, detect it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoRemove selection methods taking int from generic wxDataViewCtrl.
Václav Slavík [Mon, 8 Aug 2011 10:11:04 +0000 (10:11 +0000)] 
Remove selection methods taking int from generic wxDataViewCtrl.

Current public API uses wxDataViewItem, this code dated back to 2.8.
They were now protected instead of public, the code wasn't used
anywhere and wasn't portable, it existed only in the generic version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdded wxTopLevelWindow::MSWGetSystemMenu() method.
Vadim Zeitlin [Mon, 8 Aug 2011 09:32:42 +0000 (09:32 +0000)] 
Added wxTopLevelWindow::MSWGetSystemMenu() method.

Also generate events corresponding to WM_SYSCOMMAND messages for the custom
items of the system menu.

Add a small snippet to test the new functionality to the dialogs sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdded private wxMenu::MSWNewFromHMENU() method.
Vadim Zeitlin [Mon, 8 Aug 2011 09:32:39 +0000 (09:32 +0000)] 
Added private wxMenu::MSWNewFromHMENU() method.

Add a method allowing creation of a wxMenu object from a native menu handle.
This will be used to implement access to the system menu in an upcoming commit
but could also be useful for other purposes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix compilation with g++ 4.7 (prerelease).
Vadim Zeitlin [Mon, 8 Aug 2011 08:33:19 +0000 (08:33 +0000)] 
Fix compilation with g++ 4.7 (prerelease).

The workaround for a bug in g++ 3.5 breaks compilation with 4.7 which
implements two-phase lookup correctly, so disable this workaround for 4.7 and
later. We could probably even only enable it for 3.x but this doesn't really
matter as previous 4.x releases don't have problems with this anyhow.

Closes #13385.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoUse 0 instead of NULL to avoid g++ warning.
Vadim Zeitlin [Sun, 7 Aug 2011 19:31:52 +0000 (19:31 +0000)] 
Use 0 instead of NULL to avoid g++ warning.

g++ (usefully) warns when assigning NULL to a non-pointer in wxGDIPlusRenderer.

Just use 0 instead of NULL to avoid the warning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoUse ChangeCurrentRow() in wxDataViewMainWindow::ItemDeleted().
Václav Slavík [Sun, 7 Aug 2011 17:29:50 +0000 (17:29 +0000)] 
Use ChangeCurrentRow() in wxDataViewMainWindow::ItemDeleted().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoClean up wxDataViewMainWindow::ItemDeleted() a bit.
Václav Slavík [Sun, 7 Aug 2011 17:29:47 +0000 (17:29 +0000)] 
Clean up wxDataViewMainWindow::ItemDeleted() a bit.

Reuse shared code instead of duplicating it. No real changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agowxDataViewSelection private type doesn't need to be exported.
Václav Slavík [Sun, 7 Aug 2011 17:29:44 +0000 (17:29 +0000)] 
wxDataViewSelection private type doesn't need to be exported.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoRemove unused ItemList type from datavgen.cpp.
Václav Slavík [Sun, 7 Aug 2011 17:29:41 +0000 (17:29 +0000)] 
Remove unused ItemList type from datavgen.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoImplement wxFileType::GetOpenCommand() in wxOSX.
Vadim Zeitlin [Fri, 5 Aug 2011 19:02:26 +0000 (19:02 +0000)] 
Implement wxFileType::GetOpenCommand() in wxOSX.

This method used to work in 2.8 but was unimplemented in 2.9.

Restore more or less the old implementation using the data that we already
have in wxMimeTypesManager anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdd support for wxHELP button to wxMessageDialog.
Vadim Zeitlin [Thu, 4 Aug 2011 22:53:42 +0000 (22:53 +0000)] 
Add support for wxHELP button to wxMessageDialog.

Implement support for wxHELP for wxMSW, wxGTK and wxOSX/Cocoa (at least when
showing the message box from the main thread, there doesn't seem to be any way
to show more than three buttons with CFUserNotificationDisplayAlert() so
"Help" button is not supported when using it).

This is useful not only on its own, i.e. to allow the user to ask for help,
but also because it brings the total number of buttons supported by the
message dialog to 4, meaning that more choices can be offered to the user
(which is rarely, but not quite never, useful).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdd missing header for minimalistic builds not using PCH.
Vadim Zeitlin [Thu, 4 Aug 2011 16:12:41 +0000 (16:12 +0000)] 
Add missing header for minimalistic builds not using PCH.

wxWindow might not be fully declared in dcbase.cpp but we need its full
declaration for wxDCImpl::InheritAttributes() so explicitly include
wx/window.h -- while this is usually already included from somewhere else it
might not be in minimal builds with a lot of features disabled.

Closes #13380.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoCompilation fixes for wxUSE_GEOMETRY==0 build.
Vadim Zeitlin [Thu, 4 Aug 2011 16:12:36 +0000 (16:12 +0000)] 
Compilation fixes for wxUSE_GEOMETRY==0 build.

Add missing wxUSE_GEOMETRY checks to wxAffineMatrix2D-related code.

Closes #13379.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoUse wxWindowMSW instead of wxWindow to fix wxUniv/MSW compilation.
Vadim Zeitlin [Thu, 4 Aug 2011 16:12:31 +0000 (16:12 +0000)] 
Use wxWindowMSW instead of wxWindow to fix wxUniv/MSW compilation.

wxFindWindowAtPoint() only returns wxWindowMSW, not the derived wxWindow, in
wxUniv build so assign its return value to wxWindowMSW to avoid compilation
problems in it.

Closes #12534.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAvoid unwanted line break in wxDataViewListModel::GetCount() docs.
Vadim Zeitlin [Thu, 4 Aug 2011 13:19:57 +0000 (13:19 +0000)] 
Avoid unwanted line break in wxDataViewListModel::GetCount() docs.

Using "i.e." in the brief Doxygen comment makes it end it after the second
period and results in truncated brief description and an unwanted line break
in the full description.

Just avoid using periods for now inside the brief description. Maybe a better
solution could be found in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdded Page Break control to spacing page
Julian Smart [Thu, 4 Aug 2011 12:31:44 +0000 (12:31 +0000)] 
Added Page Break control to spacing page

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoReturn sensible major and minor version numbers for Mac OS X
Julian Smart [Wed, 3 Aug 2011 15:46:43 +0000 (15:46 +0000)] 
Return sensible major and minor version numbers for Mac OS X

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoOutline and line spacing can now be reset via the UI; format dialog layout improvements
Julian Smart [Wed, 3 Aug 2011 11:41:17 +0000 (11:41 +0000)] 
Outline and line spacing can now be reset via the UI; format dialog layout improvements

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix bug with TAB being able to switch focus between MDI frames.
Vadim Zeitlin [Wed, 3 Aug 2011 00:45:42 +0000 (00:45 +0000)] 
Fix bug with TAB being able to switch focus between MDI frames.

The keyboard navigation code correctly checked that TAB was not propagated
above the TLW containing the window in which the key was pressed to avoid
switching focus between different TLWs by pressing TAB.

However wxMDIChildFrame is not a TLW and so it was possible to switch focus
between two different MDI child frames by pressing TAB. This was unexpected
and counterintuitive, especially because the frame receiving focus was not
even activated (which might be another bug).

Fix this by adding a new wxWindow::IsTopNavigationDomain() virtual method that
can be overridden to indicate that a window is a self-contained "keyboard
navigation domain" and that keyboard events shouldn't propagate outside of it
and override it in both wxTopLevelWindow and wxMDIChildFrame to ensure that it
behaves correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoNo real changes, just rename a variable.
Vadim Zeitlin [Wed, 3 Aug 2011 00:45:38 +0000 (00:45 +0000)] 
No real changes, just rename a variable.

"focussed" spelling is unusual and inconsistent with "focused" used in many
other places in the same file, so renamed "focussed_child_of_parent" and also
use standard camelCase naming convention for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoIf -1 is passed to InsertItem for the imageIndex then don't set wxLIST_MASK_IMAGE
Robin Dunn [Tue, 2 Aug 2011 20:23:42 +0000 (20:23 +0000)] 
If -1 is passed to InsertItem for the imageIndex then don't set wxLIST_MASK_IMAGE

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoInitialize the native printer info for ConvertFromNative if it hasn't been done already.
Robin Dunn [Tue, 2 Aug 2011 19:49:02 +0000 (19:49 +0000)] 
Initialize the native printer info for ConvertFromNative if it hasn't been done already.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoDon't un-maximize the window when Iconize(false) is called in wxMSW.
Vadim Zeitlin [Tue, 2 Aug 2011 19:46:44 +0000 (19:46 +0000)] 
Don't un-maximize the window when Iconize(false) is called in wxMSW.

Calling Iconize(false) on a maximized window restored it to its normal state
instead of doing nothing as expected.

Return immediately from Iconize() if the requested state is already the
current one to avoid it.

Closes #13373.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix wxSocket::WaitForAccept() in blocking mode.
Vadim Zeitlin [Tue, 2 Aug 2011 19:46:40 +0000 (19:46 +0000)] 
Fix wxSocket::WaitForAccept() in blocking mode.

When wxSocket::WaitForAccept() was called from another thread or on a socket
with wxSOCKET_BLOCK flag it didn't work because it called
wxSocketImpl::Select() with wxSOCKET_CONNECTION_FLAG which was only handled
for the client sockets in this function.

Handle it now for the server ones too, this should allow blocking server
sockets to work again.

Closes #12836.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoRemove documentation of non-existent wxTextAttr::CreateFont().
Vadim Zeitlin [Tue, 2 Aug 2011 19:46:35 +0000 (19:46 +0000)] 
Remove documentation of non-existent wxTextAttr::CreateFont().

This method doesn't exist (only GetFont() does), so don't document it.

Closes #13372.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoSilence Clang warning about numeric_limits<> specialization.
Václav Slavík [Sun, 31 Jul 2011 13:25:33 +0000 (13:25 +0000)] 
Silence Clang warning about numeric_limits<> specialization.

libstdc++ (which is used by Clang) defines numeric_limits<> as a struct
and Clang issues a warning about our specialization that uses 'class'.
As libstdc++ developers have no intention of fixing this, silence the
Clang warning by using 'struct' for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoDisable symbols visibility support for the Clang compiler.
Václav Slavík [Sun, 31 Jul 2011 13:25:30 +0000 (13:25 +0000)] 
Disable symbols visibility support for the Clang compiler.

Even Clang++ shipped with Xcode 4.1 still can't handle visibility
of non-inline methods in exported template classes if the default
visibility is 'hidden'.

Disable visibility support for Clang for now, we'll revisit it in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoCorrect typo in wxArray::insert() fix of r68468.
Vadim Zeitlin [Sun, 31 Jul 2011 12:19:51 +0000 (12:19 +0000)] 
Correct typo in wxArray::insert() fix of r68468.

A wrong variable was mistakenly used.

Closes #13371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix crash in wxArray::insert() overload taking iterator range.
Vadim Zeitlin [Sat, 30 Jul 2011 23:38:43 +0000 (23:38 +0000)] 
Fix crash in wxArray::insert() overload taking iterator range.

The iterator passed as argument could be invalidated by the function itself,
update it before using it.

Closes #13371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoGenerate events with WXK_NONE Unicode keys for non-characters in wxOSX.
Vadim Zeitlin [Sat, 30 Jul 2011 21:54:21 +0000 (21:54 +0000)] 
Generate events with WXK_NONE Unicode keys for non-characters in wxOSX.

The keyboard keys not corresponding to real characters, such as cursor arrows
or function keys, must generate wxKeyEvents with WXK_NONE as Unicode key code
to make it possible to distinguish them from the printable characters but
wxOSX generated events with valid Unicode key codes for them instead.

Avoid this by excluding Unicode key codes corresponding to code points in the
Unicode private use area: while this doesn't seem to be documented anywhere,
all non-printable characters seem to have their Unicode representation inside
it.

This change brings wxOSX keyboard event generation in line with the other
ports and, as a side effect, also closes #12423.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAvoid bogus focus loss event when wxTextCtrl is modified in wxOSX.
Vadim Zeitlin [Sat, 30 Jul 2011 21:54:18 +0000 (21:54 +0000)] 
Avoid bogus focus loss event when wxTextCtrl is modified in wxOSX.

A wxEVT_KILL_FOCUS event was generated when wxTextCtrl::WriteText() was called
in wxOSX, even though the control didn't lose focus at all in this case. This
was completely unexpected and thoroughly confused wxGrid code which closed the
in place editor immediately after showing it because of this (this was perhaps
only the case since r68319 but the changes there were correct so they only
masked the real bug).

Avoid this bogus event by remembering the NSView currently being
programmatically modified and not doing anything in textDidEndEditing
notification if it is generated for this view.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoImprove wxTextCtrl::GetNumberOfLines() unit test and documentation.
Vadim Zeitlin [Sat, 30 Jul 2011 21:54:15 +0000 (21:54 +0000)] 
Improve wxTextCtrl::GetNumberOfLines() unit test and documentation.

First, enable execution of the Lines() wxTextCtrl unit test case under wxOSX
as it passes since the fix in the previous commit.

Do add a test for GetNumberOfLines() that currently doesn't work in the same
way under all platforms -- but with this test we at least can be sure how does
it work exactly where.

Also mention the current discrepancy in this function behaviour in the
documentation.

See #12366.

Fix Lines() wxTextCtrl unit test to pass under wxGTK too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix off by one error in wxTextCtrl::GetLineLength() in wxOSX.
Vadim Zeitlin [Sat, 30 Jul 2011 21:54:08 +0000 (21:54 +0000)] 
Fix off by one error in wxTextCtrl::GetLineLength() in wxOSX.

The trailing new line shouldn't be counted in the line length.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFix stock accelerators handling in wxOSX.
Vadim Zeitlin [Sat, 30 Jul 2011 21:54:05 +0000 (21:54 +0000)] 
Fix stock accelerators handling in wxOSX.

No modifiers were used for stock accelerators, i.e. Append(wxID_NEW) resulted
in an item with the label "New" and plain "N" as accelerator in wxOSX. This
was due to wxACCEL_CMD not being handled in wxAcceleratorEntry::ToString() so
map it to the same prefix as wxACCEL_CTRL there, this is enough to make the
accelerators work even though it's not clear whether this is really the best
thing to do or if we should use a separate "Cmd+" prefix for it (and recognize
it in Parse() too then) as otherwise it's unclear why do we have wxACCEL_CMD
at all, it just seems to be treated identically to wxACCEL_CTRL everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoEmphasize that wxStandardPaths must not be created directly.
Vadim Zeitlin [Sat, 30 Jul 2011 17:40:00 +0000 (17:40 +0000)] 
Emphasize that wxStandardPaths must not be created directly.

wxStandardPaths::Get() must be used instead as the correct object to use might
have a different type.

See #11239.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoGet rid of ugly wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST macro.
Vadim Zeitlin [Sat, 30 Jul 2011 11:30:08 +0000 (11:30 +0000)] 
Get rid of ugly wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST macro.

Replace it with wxWindowWithItems<> template class which takes care of
disambiguating between the two inherited Get/SetClientXXX() versions and use
it as a base class in all clases that previously used the macro.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoResolve ambiguity between GetClientXXX() methods in wxOSX wxComboBox.
Vadim Zeitlin [Sat, 30 Jul 2011 11:30:03 +0000 (11:30 +0000)] 
Resolve ambiguity between GetClientXXX() methods in wxOSX wxComboBox.

Use wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST for wxOSX/Cocoa too, not
only for wxOSX/Carbon. This macro adds methods to explicitly disambiguate
between the two inherited versions of each GetClientXXX() method, the one from
wxItemContainer and the other one from wxEvtHandler.

Closes #11637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdd wxTextCtrl::PositionToCoords() functions for wxMSW and wxGTK.
Vadim Zeitlin [Fri, 29 Jul 2011 15:11:54 +0000 (15:11 +0000)] 
Add wxTextCtrl::PositionToCoords() functions for wxMSW and wxGTK.

The new method allows to find the coordinates in pixels of the given character
in a text control.

Closes #13221.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoMention wxGTK wxAnimation implementation limitations in the docs.
Vadim Zeitlin [Tue, 26 Jul 2011 21:37:20 +0000 (21:37 +0000)] 
Mention wxGTK wxAnimation implementation limitations in the docs.

The native GTK implementation doesn't provide information about the frames
count nor access to individual frames.

See #13365.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoCompilation fix: include wx/event.h from wx/containr.h.
Vadim Zeitlin [Tue, 26 Jul 2011 11:31:21 +0000 (11:31 +0000)] 
Compilation fix: include wx/event.h from wx/containr.h.

We now need wxEVT_XXX constants declarations in this file (at least when not
wxHAS_NATIVE_TAB_TRAVERSAL) so include wx/event.h to fix PCH-less build of
wxOSX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFixed wxOSX-Cocoa compilation.
Dimitri Schoolwerth [Mon, 25 Jul 2011 23:31:01 +0000 (23:31 +0000)] 
Fixed wxOSX-Cocoa compilation.

OS X' wxComboBox::Init does not exist anymore since r68366 but an implementation still was present in combobox_osx.cpp which is used in Cocoa compilation. Removed the function.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoFixed containr.h compilation with gcc.
Dimitri Schoolwerth [Mon, 25 Jul 2011 22:31:17 +0000 (22:31 +0000)] 
Fixed containr.h compilation with gcc.

At least apple-gcc 4.0 and 4.2 gave a compilation error on the three Connect calls in containr.h, insisting (unless using -fpermissive) on a declaration of Connect because there are no arguments to it that depend on a template parameter. Fixed by prepending BaseWindowClass to the Connect calls. Regression since r68363.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoNo changes, just remove unnecessary wxPickerBase::OnSize().
Vadim Zeitlin [Sun, 24 Jul 2011 22:19:41 +0000 (22:19 +0000)] 
No changes, just remove unnecessary wxPickerBase::OnSize().

This method did the same thing as the base wxWindow class event handler.

Also remove wxPickerBase event table which became empty after removing this
method.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoExclude windows not accepting keyboard focus from GTK focus chain.
Vadim Zeitlin [Sun, 24 Jul 2011 22:19:37 +0000 (22:19 +0000)] 
Exclude windows not accepting keyboard focus from GTK focus chain.

For some reason the test for AcceptsFocusFromKeyboard() wasn't done in the
correct place when constructing the GTK focus chain and even windows returning
false from it were still added to it.

Do not do this any more, this prevents the windows which are really not meant
to be focusable from keyboard (such as the pseudo-buttons in the generic
implementation of wxSearchCtrl) from gaining focus unexpectedly.

See #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoReplace wxControlContainer-related macros with wxNavigationEnabled<>.
Vadim Zeitlin [Sun, 24 Jul 2011 22:19:33 +0000 (22:19 +0000)] 
Replace wxControlContainer-related macros with wxNavigationEnabled<>.

Simply inherit classes which need to provide TAB navigation among their
children from wxNavigationEnabled<> and remove the now unnecessary
WX_DECLARE_CONTROL_CONTAINER() macros.

Also remove WX_INIT_CONTROL_CONTAINER(), WX_DELEGATE_TO_CONTROL_CONTAINER()
and WX_EVENT_TABLE_CONTROL_CONTAINER() which are not needed neither any more.

And remove the event tables which became empty after removing the last macro.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoDon't give focus to wxSearchButton when using keyboard navigation.
Vadim Zeitlin [Sun, 24 Jul 2011 22:19:27 +0000 (22:19 +0000)] 
Don't give focus to wxSearchButton when using keyboard navigation.

The search control buttons don't show that they have focus and are not meant
to have it anyhow as they are more control decorations than real buttons and
their functionality can be activated by pressing "Enter" or "Escape" already
from the keyboard. But giving it to them made TAB behave unexpectedly and
wrongly when wxSearchCtrl had focus.

Override AcceptsFocusFromKeyboard() to return false to correct this.

See #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoUse wxNavigationEnabled<> for keyboard navigation in generic wxSearchCtrl.
Vadim Zeitlin [Sun, 24 Jul 2011 22:19:23 +0000 (22:19 +0000)] 
Use wxNavigationEnabled<> for keyboard navigation in generic wxSearchCtrl.

Derive generic wxSearchCtrl implementation from wxNavigationEnabled<> to
ensure that TAB navigation works correctly in it. While it did work before for
search controls without wxTE_PROCESS_ENTER style (because this wasn't handled
by this control itself at all in fact), it stopped working as soon as this
style was used in wxMSW because then the navigation was implemented by
manually calling wxWindow::Navigate() and this requires wxControlContainer
support.

Use wxNavigationEnabled<> to easily add it to wxSearchCtrl.

See #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoAdd wxNavigationEnabled<> helper for implementing TAB navigation.
Vadim Zeitlin [Sun, 24 Jul 2011 22:19:20 +0000 (22:19 +0000)] 
Add wxNavigationEnabled<> helper for implementing TAB navigation.

Provide a clean, public and documented way to implement proper TAB navigation
for subwindows of a composite control: instead of using various ugly and never
documented WX_XXX_CONTROL_CONTAINER macros it is now enough to simply inherit
from wxNavigationEnabled<BaseClass> to do it.

No real changes in the code as the new class is not used anywhere yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoIgnore WM_CLOSE generated by wxMSW edit control when Escape is pressed.
Vadim Zeitlin [Sun, 24 Jul 2011 10:50:51 +0000 (10:50 +0000)] 
Ignore WM_CLOSE generated by wxMSW edit control when Escape is pressed.

Multiline edit control posts WM_CLOSE to its parent window when Escape key is
pressed inside it for some reason. This is unwanted as it totally bypasses our
logic for only closing the dialog when Escape is pressed if there is a
Cancel-like button in it, so suppress this behaviour by not letting the edit
control to get Escape at all.

Closes #12501.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoMention that pages can't be added to wxBookCtrl more than once.
Vadim Zeitlin [Sat, 23 Jul 2011 19:36:47 +0000 (19:36 +0000)] 
Mention that pages can't be added to wxBookCtrl more than once.

Apparently some people expect this to work although it's really not meant to.

See #13209.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 years agoDon't try to pop from an empty stack in wxGDIPlusContext::PopState().
Vadim Zeitlin [Sat, 23 Jul 2011 19:36:43 +0000 (19:36 +0000)] 
Don't try to pop from an empty stack in wxGDIPlusContext::PopState().

Using PopState() without a previous PushState() is an error but it shouldn't
result in a crash, so add an assert guarding against it.

Closes #13197.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775