Commit Graph

53513 Commits

Author SHA1 Message Date
Václav Slavík
f6410588cf Don't iterate over selection twice needlessly in wxDataViewMainWindow::ItemDeleted().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 14:14:53 +00:00
Václav Slavík
b23de238c8 No change, improve wxDataViewMainWindow::ItemDeleted() readability.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 14:14:50 +00:00
Vadim Zeitlin
fa93d732e2 Harmonize wxDataViewCtrl::GetSelection() behaviour in all ports.
wxDataViewCtrl::GetSelection() now always returns invalid item if more than
a single item is selected in a multi-selection control.

Also add HasSelection() and GetSelectedItemsCount() to allow checking if any
items are selected.

Updated the documentation, all ports and added a test for all these functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:41:19 +00:00
Vadim Zeitlin
c3ad4d4a45 No changes, just use CPPUNIT_ASSERT_EQUAL() instead of CPPUNIT_ASSERT().
CPPUNIT_ASSERT_EQUAL() gives more informative error messages in case of
failure which is important when running tests unattended on build slaves.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:41:12 +00:00
Vadim Zeitlin
0eec47e4a2 No changes, just add wxGtkList to ensure g_list_free() is always called.
Add an extremely simple RAII wrapper around GList and use it.

Also add wxGtkTreePathList which also automatically frees its contents to
simplify working with the lists of GtkTreePaths.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:41:00 +00:00
Vadim Zeitlin
040050b8f4 Don't export Objective C interfaces in non-x86_64 builds.
Doing this is unnecessary and results in compilation errors in PPC and x86
builds when using old (4.0.1) version of the compiler.

So make WXEXPORT added in r67575 specific to 64 bit builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:38:36 +00:00
Vadim Zeitlin
ae2047c32a Add XRC handler for wxBannerWindow and a test for it to the xrc sample.
Also document the new XRC format elements.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:56 +00:00
Vadim Zeitlin
50c202914e No changes, just factor our wxDirection parsing code in wxXRC.
Move it from wxButtonXmlHandler into a reusable wxXmlResourceHandler::
GetDirection() that can used by the other handlers too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:49 +00:00
Vadim Zeitlin
ea11bf3abc Add new wxBannerWindow class.
A simple banner showing either a bitmap or some text on gradient background.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:43 +00:00
Vadim Zeitlin
e55d569400 Add @genericAppearance Doxygen macro.
This allows to provide just a single image (in "generic" subdirectory) for the
generic controls that look the same in all ports instead of having to create
three identical ones (in "wxmsw", "wxgtk" and "wxmac" subdirectories) that are
required by @appearance.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:33 +00:00
Vadim Zeitlin
902334c8fa Fix the coordinates in wxDataViewCustomRenderer::LeftClick() in generic wxDVC.
The code in generic wxDataViewCtrl implementation didn't take the space taken
by tree expander button nor the indentation of child nodes into account, so
the coordinates passed to LeftClick() could be completely wrong.

Fix this by offsetting them to ensure that click coordinates are always
relative to the cell client area.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:13:39 +00:00
Vadim Zeitlin
665ec08c05 Add missing wx/icon.h header to fix wxGTK compilation.
wx/withimages.h needs to include wx/icon.h as it contains an inline function
returning wxIcon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:52:16 +00:00
Vadim Zeitlin
87df1c87e2 Refactor: replace wxTreeItemId and wxDataViewItem with new wxItemId<>.
Add wxItemId<> template which can be used to identify items in different
{tree,list}-like controls, including wxDataViewCtrl (where it replaces, in
backwards compatible way, wxDataViewItem), wxTreeCtrl (where it replaces
wxTreeItemId) and the upcoming wxTreeListCtrl.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:56 +00:00
Vadim Zeitlin
64ee1d68b1 No changes, just move wxCheckBoxState to wx/defs.h from wx/checkbox.h.
Move the enum to allow reusing it in other places.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:52 +00:00
Vadim Zeitlin
1871b9facb No changes, just use symbolic NO_IMAGE constant instead of -1 or wxNOT_FOUND.
Existing declarations used -1 in several places to indicate the absence of the
image which wasn't especially clear and was also inconsistent with other
places that used wxNOT_FOUND which didn't make much sense in this context.

Add a new symbolic constant NO_IMAGE in wxWithImages and use it in the classes
deriving from it. This still doesn't help with wx{Tree,List}Ctrl but improves
clarity for the other classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:49 +00:00
Vadim Zeitlin
abfdefede3 Add wxWithImages helper mix-in with {Set,Get,Assign}ImageList() methods.
Avoid defining SetImageList() in several different places in wx API as not
only this resulted in (trivial) code duplication but this method also had
different semantics before: it didn't take ownership of the pointer passed to
it in wxTreeCtrl, wxListCtrl and wxBookCtrl and derived classes but did take
its ownership in wxDataViewTreeCtrl and wxRichTextFormattingDialog.

Harmonize this for all the classes now: SetImageList() never takes ownership
while AssignImageList() (which is now available in all classes having
SetImageList()) always does.

Also add convenience wxWithImages::GetImage() helper to avoid (more) code
duplication in wxDataViewTreeCtrl code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:43 +00:00
Vadim Zeitlin
36a96421b3 Replace wxComboBox::IsEmpty() with Is{List,Text}Empty().
IsEmpty() didn't exist in all ports (notably not wxMSW) and its meaning was
unclear anyhow, so remove it even from the ports where it did exist and add
clear Is{List,Text}Empty() replacements instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 12:06:16 +00:00
Václav Slavík
9489ebf0f1 Rename wxDataViewCtrl::InvalidateColBestWidth* to UpdateColBestWidth*.
The new names make it more clear that the functions don't just set an
invalidated flag, but that they actually do some recalculations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 09:07:06 +00:00
Václav Slavík
ac0981084b Fix autosize columns width calculation in generic wxDataViewCtrl.
Column widths were recomputed too soon -- after the model changed, but
before the control's own data structures were updated to reflect the
change. This could lead to incorrect calculations or worse, crashes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 09:07:02 +00:00
Vadim Zeitlin
5d9138be7f Add a one line script to clean patches before submitting them for review.
Exclude changes to the auto-generated files using filterdiff.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-20 12:25:53 +00:00
Václav Slavík
0b93babdc0 Reorganize wxDataViewMainWindow::ItemAdded() for better readability.
Reuse common code. No real changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 18:25:28 +00:00
Dimitri Schoolwerth
409fe759e1 Fixed failing test in ImageTestCase for builds made with makefiles.
The recently added BMP images in tests/image/ were not being copied. Added them to test.bkl and regenerated makefiles.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 16:10:07 +00:00
Dimitri Schoolwerth
659185ff80 Documented wxIMAGE_OPTION_TIFF_* options that are currently in use.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 03:57:06 +00:00
Dimitri Schoolwerth
2453ceee20 Use a default photometric interpretation value of PHOTOMETRIC_MINISWHITE instead of PHOTOMETRIC_MINISBLACK for greyscale and b/w TIFF images.
Closes #13194.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 03:50:45 +00:00
Dimitri Schoolwerth
fc695138b4 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
2011-08-19 03:47:40 +00:00
Dimitri Schoolwerth
8e28cc4701 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
2011-08-19 02:35:48 +00:00
Dimitri Schoolwerth
7f77b25ea8 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
2011-08-19 02:27:11 +00:00
Dimitri Schoolwerth
0e11090ef6 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
2011-08-19 02:00:25 +00:00
Dimitri Schoolwerth
096c930c16 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
2011-08-19 01:31:07 +00:00
Dimitri Schoolwerth
d65172db90 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
2011-08-19 01:19:21 +00:00
Dimitri Schoolwerth
6f54591185 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
2011-08-19 01:13:16 +00:00
Dimitri Schoolwerth
7a10e465ca 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
2011-08-19 01:08:36 +00:00
Dimitri Schoolwerth
7ffc9affb4 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
2011-08-18 13:15:43 +00:00
Dimitri Schoolwerth
d06c3098ab 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
2011-08-17 21:01:09 +00:00
Vadim Zeitlin
ee19ab6d80 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
2011-08-17 10:35:29 +00:00
Vadim Zeitlin
2032371b3b 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
2011-08-17 10:35:25 +00:00
Julian Smart
827fb0e455 Better text control non-selection solution
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-17 08:38:00 +00:00
Julian Smart
63509fb3c4 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
2011-08-16 20:52:15 +00:00
Stefan Csomor
675ec6655e 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
2011-08-16 13:46:56 +00:00
Stefan Csomor
3bc6d53403 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
2011-08-16 13:45:05 +00:00
Stefan Csomor
cfc77ac09a 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
2011-08-16 13:36:24 +00:00
Stefan Csomor
773db5dfb3 supporting full style mask
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-16 12:42:56 +00:00
Vadim Zeitlin
04f1f9b773 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
2011-08-16 12:24:28 +00:00
Stefan Csomor
ee44283198 adjust init to standard
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-16 12:17:59 +00:00
Stefan Csomor
3e7c34b5a1 support for raw ctrl shortcut
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-16 12:17:13 +00:00
Stefan Csomor
8680646d5c 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
2011-08-16 12:01:27 +00:00
Stefan Csomor
3c5f62640d adapt defines for ctrl/command key
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-16 12:00:52 +00:00
Stefan Csomor
5266f34590 adapt defines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-16 11:55:39 +00:00
Paul Cornett
d0f93bc7dc 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
2011-08-16 07:02:37 +00:00
Vadim Zeitlin
f4cb7c58da 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
2011-08-14 19:39:31 +00:00