Vadim Zeitlin [Sat, 27 Aug 2011 14:11:03 +0000 (14:11 +0000)]
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
Václav Slavík [Sat, 27 Aug 2011 13:24:25 +0000 (13:24 +0000)]
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
Václav Slavík [Sat, 27 Aug 2011 13:24:22 +0000 (13:24 +0000)]
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
Václav Slavík [Sat, 27 Aug 2011 13:24:19 +0000 (13:24 +0000)]
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
Václav Slavík [Sat, 27 Aug 2011 13:24:07 +0000 (13:24 +0000)]
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
Vadim Zeitlin [Sat, 27 Aug 2011 12:13:23 +0000 (12:13 +0000)]
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
Vadim Zeitlin [Sat, 27 Aug 2011 12:13:18 +0000 (12:13 +0000)]
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
Vadim Zeitlin [Sat, 27 Aug 2011 12:13:13 +0000 (12:13 +0000)]
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
Jouk Jansen [Fri, 26 Aug 2011 13:01:40 +0000 (13:01 +0000)]
Update setup for OpenVMS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68907
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Dimitri Schoolwerth [Thu, 25 Aug 2011 23:32:05 +0000 (23:32 +0000)]
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
Dimitri Schoolwerth [Thu, 25 Aug 2011 23:16:44 +0000 (23:16 +0000)]
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
Dimitri Schoolwerth [Thu, 25 Aug 2011 23:13:00 +0000 (23:13 +0000)]
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
Dimitri Schoolwerth [Thu, 25 Aug 2011 23:09:00 +0000 (23:09 +0000)]
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
Dimitri Schoolwerth [Thu, 25 Aug 2011 21:52:55 +0000 (21:52 +0000)]
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
Stefan Csomor [Thu, 25 Aug 2011 16:37:05 +0000 (16:37 +0000)]
mb:
54153a12-b2c7-417e-b607-
c4faa9c436ab
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68880
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 24 Aug 2011 11:52:57 +0000 (11:52 +0000)]
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
Vadim Zeitlin [Wed, 24 Aug 2011 11:48:18 +0000 (11:48 +0000)]
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
Stefan Csomor [Wed, 24 Aug 2011 11:19:43 +0000 (11:19 +0000)]
adding raw_control for osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68875
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Wed, 24 Aug 2011 06:14:10 +0000 (06:14 +0000)]
missing commit for RAW_CONTROL changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68873
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Wed, 24 Aug 2011 04:15:58 +0000 (04:15 +0000)]
missing commit for RAW_CONTROL changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68872
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 23 Aug 2011 15:44:04 +0000 (15:44 +0000)]
Compilation fix for non-OSX: don't use m_rawControlDown there.
m_rawControlDown is supposed to be only used under OS X so put an #ifdef
__WXOSX__ around it in wxKeyboardState::GetModifiers() to fix compilation
under the other platforms.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68870
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 23 Aug 2011 15:30:44 +0000 (15:30 +0000)]
fixing type for key event, using WXK_RAW_CONTROL constant for controlkey, see #13415
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68869
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 23 Aug 2011 15:18:27 +0000 (15:18 +0000)]
exposing control key combinations as before, fixing unicodekey casing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68868
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 23 Aug 2011 15:11:25 +0000 (15:11 +0000)]
Simplify checks for event vetoing in generic wxDataViewCtrl code.
Don't return the whole event object from SendExpanderEvent() just to check if
it wasn't vetoed, simply return a boolean value indicating if this was the
case from this function itself.
This makes it both more efficient and easier to use.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68867
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 23 Aug 2011 15:11:22 +0000 (15:11 +0000)]
Fix completely wrong logic for veto checking in generic wxDVC.
The code sending the event must check whether the event was vetoed or not, not
whether it was skipped or not. This is the minimal change resulting in correct
behaviour even if an event handler does skip the event.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68866
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 23 Aug 2011 13:19:19 +0000 (13:19 +0000)]
adjusting keyboardstate to new ctrl / raw_ctrl handling on osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68865
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 23 Aug 2011 13:03:52 +0000 (13:03 +0000)]
adjusting keyboardstate to new ctrl / raw_ctrl handling on osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68864
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 23 Aug 2011 11:04:44 +0000 (11:04 +0000)]
Mention wxLocale in wxNumValidator documentation.
Using setlocale() can thoroughly confuse wxNumValidator because it results in
a mismatch between the decimal and/or thousands separators it uses, returned
by wxLocale, and the actual separators in the strings, formatted by the CRT.
So mention in the documentation that using setlocale() is a bad idea.
Closes #12970.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68863
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 23 Aug 2011 11:04:41 +0000 (11:04 +0000)]
No changes, just add a missing comma in wxNumValidator documentation.
SetRange() declaration wasn't properly terminated.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68862
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 23 Aug 2011 11:04:37 +0000 (11:04 +0000)]
Check for decimal separator inconsistency in wxLocale::GetInfo().
Under wxMSW it's possible to have mismatch between the CRT locale (used by
various printf-related functions) and the system locale (queried by
wxLocale::GetInfo()).
Warn if such a mismatch occurs and tell people to use wxLocale instead of just
setlocale() to change the locale.
See #12970.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68861
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 23 Aug 2011 10:50:43 +0000 (10:50 +0000)]
Fix wxBannerWindowNameStr definition in DLL builds.
Don't use WXDLLEXPORT_DATA when defining the variable, it can be only used
when declaring it.
This fixes wxMSW DLL build with MSVC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68860
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Dimitri Schoolwerth [Tue, 23 Aug 2011 04:55:46 +0000 (04:55 +0000)]
Added wxBITMAP_TYPE_TIFF and wxBITMAP_TYPE_TIFF_RESOURCE.
Having wxBITMAP_TYPE_TIFF and wxBITMAP_TYPE_TIFF_RESOURCE is more consistent with already using the complete short name of an image format elsewhere (e.g. wxBITMAP_TYPE_JPEG, not wxBTMAP_TYPE_JPG, and wxTIFFHandler as opposed to wxTIFHandler). Renamed all existing occurrences and kept the old enum values for backwards compatibility.
Also renamed occurrences of wxBITMAP_TYPE_RESOURCE to the already existing wxBITMAP_TYPE_BMP_RESOURCE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68859
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Dimitri Schoolwerth [Tue, 23 Aug 2011 04:41:00 +0000 (04:41 +0000)]
Fixed linking errors related to wxAnyButton in wxUniv.
Native wxAnyButton headers were being included but the sources aren't used in wxUniv. Fixed this by not including any native header in wxUniv and instead made wxAnyButton a typedef of wxAnyButtonBase.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68858
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Dimitri Schoolwerth [Tue, 23 Aug 2011 03:08:01 +0000 (03:08 +0000)]
Fixed compilation of various notebook.cpp's.
Make use of HasImageList() and GetImageList() instead of accessing the now private m_imageList directly. Fixed for wxUniv, wxGTK1, and wxOS2 (the latter 2 blindly). Changes are similar to r68856 and should have been a part of that.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68857
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Dimitri Schoolwerth [Tue, 23 Aug 2011 02:18:41 +0000 (02:18 +0000)]
Fixed compilation of sources that make use of wx/univ/notebook.h.
wxUniv's wxNotebook was accessing m_imageList which now is a private in wxWithImages since r68809. Fixed by using wxWithImages::HasImageList.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68856
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 22 Aug 2011 15:35:47 +0000 (15:35 +0000)]
Exclude another auto-generated file when cleaning the patches.
Changes to autoconf_inc.m4 are not interesting neither, exclude them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68854
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 22 Aug 2011 15:31:38 +0000 (15:31 +0000)]
Don't refresh not yet realized widget in wxGTK wxDataViewCtrl.
If the text of any of wxDataViewCtrl cells was set before the control was
realized (e.g. during its creation), the code tried to refresh the not yet
shown widget resulting in GTK+ errors.
Avoid this by only refreshing the tree if it's realized.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68853
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 22 Aug 2011 15:31:36 +0000 (15:31 +0000)]
Return non-const pointer from wxDataViewRendererBase::GetView().
Non-const wxWindow pointers are unfortunately needed quite often in wx API so
return a non-const pointer here to allow using it with e.g. wxRendererNative
(whose methods all take non-const wxWindow pointers) in the derived classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68852
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 22 Aug 2011 15:31:33 +0000 (15:31 +0000)]
Add wxDataViewIconText::IsSameAs() and make comparison operators members.
Add IsSameAs() to make it simpler to call from the derived class operator==()
implementation.
Also make comparison operators themselves members instead of global functions
to avoid considering them as matches for all operator==() uses in the program,
there is really no need for this as we do _not_ want to allow implicitly
converting something to wxDataViewIconText when comparing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68851
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 22 Aug 2011 15:31:30 +0000 (15:31 +0000)]
Return (16,16) as the default list icons size in wxMSW.
The standard size of the small icons in list controls under MSW is
traditionally 16*16 so return this from wxMSW wxArtProvider.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68850
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Mon, 22 Aug 2011 15:11:37 +0000 (15:11 +0000)]
removing trailing comma
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68849
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Mon, 22 Aug 2011 15:10:07 +0000 (15:10 +0000)]
exposing wxGraphicsContext through an ordinary wxDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68848
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Václav Slavík [Mon, 22 Aug 2011 14:14:55 +0000 (14:14 +0000)]
Fix typo.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68847
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Václav Slavík [Mon, 22 Aug 2011 14:14:53 +0000 (14:14 +0000)]
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
Václav Slavík [Mon, 22 Aug 2011 14:14:50 +0000 (14:14 +0000)]
No change, improve wxDataViewMainWindow::ItemDeleted() readability.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68845
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 22 Aug 2011 12:41:19 +0000 (12:41 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:41:12 +0000 (12:41 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:41:00 +0000 (12:41 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:38:36 +0000 (12:38 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:18:56 +0000 (12:18 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:18:49 +0000 (12:18 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:18:43 +0000 (12:18 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:18:33 +0000 (12:18 +0000)]
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
Vadim Zeitlin [Mon, 22 Aug 2011 12:13:39 +0000 (12:13 +0000)]
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
Vadim Zeitlin [Sun, 21 Aug 2011 14:52:16 +0000 (14:52 +0000)]
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
Vadim Zeitlin [Sun, 21 Aug 2011 14:08:56 +0000 (14:08 +0000)]
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
Vadim Zeitlin [Sun, 21 Aug 2011 14:08:52 +0000 (14:08 +0000)]
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
Vadim Zeitlin [Sun, 21 Aug 2011 14:08:49 +0000 (14:08 +0000)]
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
Vadim Zeitlin [Sun, 21 Aug 2011 14:08:43 +0000 (14:08 +0000)]
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
Vadim Zeitlin [Sun, 21 Aug 2011 12:06:16 +0000 (12:06 +0000)]
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
Václav Slavík [Sun, 21 Aug 2011 09:07:06 +0000 (09:07 +0000)]
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
Václav Slavík [Sun, 21 Aug 2011 09:07:02 +0000 (09:07 +0000)]
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
Vadim Zeitlin [Sat, 20 Aug 2011 12:25:53 +0000 (12:25 +0000)]
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
Václav Slavík [Fri, 19 Aug 2011 18:25:28 +0000 (18:25 +0000)]
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
Dimitri Schoolwerth [Fri, 19 Aug 2011 16:10:07 +0000 (16:10 +0000)]
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
Dimitri Schoolwerth [Fri, 19 Aug 2011 03:57:06 +0000 (03:57 +0000)]
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
Dimitri Schoolwerth [Fri, 19 Aug 2011 03:50:45 +0000 (03:50 +0000)]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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