Commit Graph

53486 Commits

Author SHA1 Message Date
Dimitri Schoolwerth
ab176b4b50 Added alpha saving support to TIFF image handler.
Added support for saving alpha with RGB, greyscale, and black and white images.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-29 01:13:06 +00:00
Dimitri Schoolwerth
ebbaec82fa Fixed loading greyscale with alpha TIFF images.
The alpha channel was not detected because of wrong hasAlpha determination. Also TIFFReadRGBAImage[Oriented] doesn't appear to decode an alpha channel for images that are greyscale so decode greyscale with alpha images using TIFFReadScanline.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 23:45:17 +00:00
Dimitri Schoolwerth
a000de7794 Fixed copying only 1/3 of scanline when saving TIFF image in rare cases.
If our calculated image pitch is not equal to what TIFFScanlineSize returns a scanline buffer would be used. In that case the number of bytes being copied was equal to the image's width instead of pitch (width times 3).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 22:44:04 +00:00
Dimitri Schoolwerth
f60e313437 Added support for loading black and white TIFF images with alpha.
As TIFFReadRGBAImage[Oriented] can't deal with all images make use of TIFFReadScanline to decode per scanline. Currently only the case of a black and white image with alpha (for a total of 2 bits per pixel) is handled.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 22:17:04 +00:00
Dimitri Schoolwerth
d6d29abb44 Updated manual regarding image alpha support for TGA handler.
TGA was not mentioned in the list of formats supporting loading of alpha, but alpha loading support has been available since r42644.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 22:06:46 +00:00
Dimitri Schoolwerth
5d2be7cc55 Read TIFF images from top to bottom instead of bottom to top.
Use TIFFReadRGBAImageOriented with a parameter of ORIENTATION_TOPLEFT instead of using TIFFReadRGBAImage (which uses ORIENTATION_BOTTOMLEFT) to read images in a more logical order and simplify code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 21:59:36 +00:00
Dimitri Schoolwerth
f2de33ede4 Fixed accessing out-of-bounds image coordinates while writing a black and white TIFF image.
The code assumed that the image's width is a multiple of 8, and attempted to always write per 8 pixels instead of sometimes having to write fewer pixels for the last column.

Also fixed compilo from previous commit due to not removing old code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 21:49:28 +00:00
Dimitri Schoolwerth
649df4bff8 Fixed calculated image pitch being off-by-one in some cases.
The variable linebytes sometimes counted one extra byte, which is OK for allocating but not when accessing the image later on. Calculate the value in a slightly different way and made the variable const.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 21:38:22 +00:00
Dimitri Schoolwerth
28b31a2ad2 Removed double TIFFSetField call for setting TIFFTAG_ORIENTATION.
Setting the same TIFF tag with the same value once is enough.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 21:31:59 +00:00
Dimitri Schoolwerth
c6973babc6 Call GetAlpha() to get a pointer instead of checking for alpha first.
It's safe to call GetAlpha() even if there's no alpha because in that case NULL will be returned.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 21:27:34 +00:00
Stefan Csomor
2824962c5a make sure svn info for an already existing .xcodeproj folder is not deleted, replace project file itself in place
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 13:00:38 +00:00
Stefan Csomor
1aa1d260b5 adding missing doc string for BACKSPACE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 07:11:44 +00:00
Stefan Csomor
99d6720118 routing keys like ESC etc, fixes #13429
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-28 06:54:18 +00:00
Robin Dunn
932d0768aa * Implement dynamic loading of the Cairo DLL on Windows similar to how it was
done for GDI+.

* Enable the use of the wxCairoContext on MSW.

* Enable creating a wxGCDC from an exisiting wxGraphicsContext.

* Since it's possible for a DLL that is using wx to not be on the PATH nor in
  the same location as the .exe, change the wxDynamicLibrary::RawLoad method to
  explicitly look first in the same place as the main wx-using binary.  This way
  it will find DLLs that are in the same folder as the wx-using binary even if
  that would not be in the normal DLL search path.  

* Change wxDCImpl and wxDC::GetLogicalScale to be const methods.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 23:26:53 +00:00
Václav Slavík
d54f0605a9 More understandable symbolic constants in generic wxDVC's DoJob class.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 16:44:47 +00:00
Václav Slavík
e1f30123c9 Use spacebar to activate items in generic wxDataViewCtrl too.
Pressing Spacebar now behaves the same as Enter in the generic control,
for consistency with the GTK+ control and native Windows list controls.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 16:44:45 +00:00
Václav Slavík
a2d3c415d7 Remove DestroyTreeHelper(), make GetChildNodes() const, add RemoveChild().
There's no reason for DestroyTreeHelper() code, that's what destructors
are for.  On a related note, make removal of children from a node more
explicit too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 16:44:42 +00:00
Václav Slavík
c2c89730e2 Add wxDataViewMainWindow::GetModel() helper.
It's slightly less verbose than GetOwner()->GetModel() used all
over the place.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 16:44:39 +00:00
Václav Slavík
ff3c5ad3d3 Better names in wxDataViewTreeNode.
GetChildNodes() instead of GetNodes(), AddChild() instead of AddNode().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 16:44:36 +00:00
Václav Slavík
dd90475f71 Use wxTE_PROCESS_ENTER with wxDataViewCtrl text controls.
wxDVC code depends on wxEVT_COMMAND_TEXT_ENTER to hide the
inline editing controls.

Fixes #13412.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 15:23:43 +00:00
Vadim Zeitlin
d5d0f0cd9a No real changes, minor corrections to the docs.
Don't leave a line break inside a @code block as it's preserved in the HTML
output, making it appear ugly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:58:43 +00:00
Vadim Zeitlin
686631c665 Copy generic images when building the documentation too.
The images used by @genericAppearance Doxygen macro were not copied to the
output directory.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:56:33 +00:00
Vadim Zeitlin
00fa267c1e Compilation fix for wxTreeListCtrl when not using PCH.
Include wx/dc.h normally included from wx/wxprec.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:50:01 +00:00
Vadim Zeitlin
211d331379 No changes, just fix the file name in the header comment of wxDVC test.
s/tree/dataview/

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:31 +00:00
Vadim Zeitlin
b18ebec956 Make wxBU_EXACTFIT fir the button text more exactly.
Too big margins were added for the buttons with wxBU_EXACTFIT style making
them larger than strictly necessary. Reduce the margins to make them really
as small as possible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:28 +00:00
Vadim Zeitlin
75bc8b3454 Added wxFLP_SMALL and wxDIRP_SMALL styles for wx{File,Dir}PickerCtrl.
These styles allow to use a smaller browse button as the standard one takes
too much space, often leaving too little of it for the more important text
control part.

Notice that both styles are, in fact, equal to wxPB_SMALL but only file and
directory pickers currently use it as it doesn't make sense for the colour and
font pickers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:25 +00:00
Vadim Zeitlin
ea7ff9ad2a Auto complete file names in the text controls of wx{File,Dir}PickerCtrl.
There doesn't seem to be any reason not to do this in the controls which we
know are meant for entering file or directory names into them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:20 +00:00
Vadim Zeitlin
9a995b1a42 Make the file and dir picket controls expand in widgets sample.
The controls were too small to see long paths in them comfortably while there
was plenty of space in the page, use wxEXPAND flag for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:17 +00:00
Vadim Zeitlin
03dede4dc1 Add wxTextEntry::AutoCompleteDirectories().
As we already had MSW-specific AutoCompleteFileNames(), we can just as well
also add the also useful AutoCompleteDirectories() to be used with the text
controls used for path entry.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:13 +00:00
Vadim Zeitlin
d50fc4dc6d No changes, just fix a typo in wxBannerWindow documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:09 +00:00
Vadim Zeitlin
524cb04066 Add new wxTreeListCtrl class.
This is a facade for wxDataViewCtrl allowing to easily work with multi-column
trees, possibly with an optional checkbox in the first column. Its API is very
similar to wxTreeListCtrl and it provides a simple migration path from the
latter.

Add the class itself, documentation for it and minimal unit tests.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:03 +00:00
Václav Slavík
15d1fd3f6f Notify GtkTreeView if a node stops being a parent.
GtkTreeView requires the row-has-child-toggled signal to be emitted in
this situation, so do it from ItemDeleted handler.

Curiously, it handles adding the first child automatically. That's good,
because detecting this situation when adding the first child wouldn't be
trivial and so not having to do it is a plus. (Emitting it on every node
addition doesn't sound like a terribly bright idea.)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 13:24:25 +00:00
Václav Slavík
d0cfefc4e0 Save memory in wxDataViewTreeNode.
Put data that are meaningful only for non-leaf nodes into a separate
struct that is only allocated for branch nodes. This makes branch
nodes larger by sizeof(void*), but leaf nodes save >50% of memory.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 13:24:22 +00:00
Václav Slavík
422aa8ecfe Simplified generic wxDataViewCtrl's tree structure.
Use just one type, wxDataViewTreeNode, to represent any kind of node.
Previously a complicated structure that represented leaves and non-leaf
nodes differently was used. This make the code way too complicated and
caused some smaller bugs (see e.g. #13256).

As a side effect, this change makes the control react correctly to
changes in IsContainer() return values.

Also fixes #13256.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 13:24:19 +00:00
Václav Slavík
b632efe0d6 No real change, use more descriptive variable names in wxDataViewMainWindow::ItemDeleted().
Call the node object corresponding to 'parent' 'parentNode' instead
of just the more vague 'node'. Also, 'nodes' instead of 'nds'.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 13:24:07 +00:00
Vadim Zeitlin
35368572bc Set colours and fonts for all elements of the generic wxSearchCtrl.
Derive generic wxSearchCtrl from wxCompositeWindow<> to ensure that calls to
its Set{Fore,Back}groundColour() are propagated to all its children, otherwise
they applied only to the composite control itself but not e.g. its text part.

Also update the bitmaps when the background colour changes to ensure that it
appears as transparent.

Closes #13428.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 12:13:23 +00:00
Vadim Zeitlin
162e221f76 Allow returning NULL windows from GetCompositeWindowParts().
wxCompositeWindow::GetCompositeWindowParts() becomes simpler to implement in
the derived classes with optionally shown elements if NULL windows are allowed
(and ignored) in the list returned by it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 12:13:18 +00:00
Vadim Zeitlin
97f851007c Fixes to OpenGL samples to avoid asserts/crashes.
Don't call wxGLCanvas::SetCurrent() when the window is not shown.

Closes #13424.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 12:13:13 +00:00
Jouk Jansen
7f1b6179cd Update setup for OpenVMS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-26 13:01:40 +00:00
Dimitri Schoolwerth
b15dfd0895 Fixed best size of wxUniv's wxNotebook.
Removed wxNotebook::DoGetBestClientSize to let wxBookCtrlBase::DoGetBestSize do its job and fix the best size of a wxNotebook (formerly when running the notebook sample the notebook was not wide enough).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 23:32:05 +00:00
Dimitri Schoolwerth
b849473237 Fixed best sizes for wxUniv controls.
Many wxUniv controls had a way too small best size which was noticeable when running e.g. the widgets sample. Regression started in r61169 where wxWindowBase::DoGetClientBestSize() was introduced but that virtual function already existed in wxUniv's wxWindow. Removing wxUniv's wxWindow::DoGetBestSize and wxWindow::DoGetBestClientSize fixes sizing issues.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 23:16:44 +00:00
Dimitri Schoolwerth
82e1729555 Fixed width of scrollbars in wxUniv.
The AdjustSize renderer function for wxUniv's GTK and MSW theme adjusted the size of a scrollbar while it already had the correct size, resulting in scrollbars being twice as wide. Fixed by not adjusting the size of a scrollbar anymore in AdjustSize.

Closes #11660.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 23:13:00 +00:00
Dimitri Schoolwerth
f4308cf55f Fixed buttons having no border in wxUniv by default.
Buttons had a border of wxBORDER_NONE resulting in wxButton::DoDraw not drawing the button's border. Fixed by adding wxAnyButton::GetDefaultBorder() for wxUniv which returns wxBORDER_STATIC. Regression since r67931.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 23:09:00 +00:00
Dimitri Schoolwerth
fe62518e7c Fixed MSW/Univ compilation of toplevel.cpp.
MSW-only functions were compiled in, disabled their usage by adding #ifndef __WXUNIVERSAL__ blocks.

Closes #13399 (again, after r68723 already should have closed it but its commit message contained a typo).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 21:52:55 +00:00
Stefan Csomor
0e1d0c5373 mb:54153a12-b2c7-417e-b607-c4faa9c436ab
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 16:37:05 +00:00
Vadim Zeitlin
8fcf7cd035 No real changes, just update copyright year in wxInfoMessageBox().
s/2010/2011/

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-24 11:52:57 +00:00
Vadim Zeitlin
aaa801d1dd Try harder to set the requester splitter position in wxSplitterWindow.
The code in wxSplitterWindow tried to remember the requested position and set
the real sash position to it later, even if the initial window size was too
small to allow for it, but it didn't work because the requested position was
forgotten after the first size event, even though it was quite possible that
this event didn't really change the window size from the initial, small, one.

Try to make this more robust by ignoring the size events which don't really
change the window size. Also set m_lastSize correctly initially.

Now setting the sash position does work even if the splitter itself is inside
nested sizers (which results in many size events).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-24 11:48:18 +00:00
Stefan Csomor
d3f81b8533 adding raw_control for osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-24 11:19:43 +00:00
Stefan Csomor
4983b80d07 missing commit for RAW_CONTROL changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-24 06:14:10 +00:00
Stefan Csomor
84381ea472 missing commit for RAW_CONTROL changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-24 04:15:58 +00:00