Commit Graph

53503 Commits

Author SHA1 Message Date
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
Vadim Zeitlin
c66160d5d5 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
2011-08-23 15:44:04 +00:00
Stefan Csomor
68065b9194 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
2011-08-23 15:30:44 +00:00
Stefan Csomor
a8fc3508e7 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
2011-08-23 15:18:27 +00:00
Vadim Zeitlin
fd48fe892c 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
2011-08-23 15:11:25 +00:00
Vadim Zeitlin
d1a92cf322 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
2011-08-23 15:11:22 +00:00
Stefan Csomor
dd9ec5961f 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
2011-08-23 13:19:19 +00:00
Stefan Csomor
8b9e09383a 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
2011-08-23 13:03:52 +00:00
Vadim Zeitlin
71f89d85c3 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
2011-08-23 11:04:44 +00:00
Vadim Zeitlin
bf92c2268e 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
2011-08-23 11:04:41 +00:00
Vadim Zeitlin
0043f42027 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
2011-08-23 11:04:37 +00:00
Vadim Zeitlin
94ed214db2 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
2011-08-23 10:50:43 +00:00
Dimitri Schoolwerth
4ca8531f61 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
2011-08-23 04:55:46 +00:00
Dimitri Schoolwerth
ca21c76b2a 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
2011-08-23 04:41:00 +00:00
Dimitri Schoolwerth
3f4880a451 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
2011-08-23 03:08:01 +00:00
Dimitri Schoolwerth
f340c9ca88 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
2011-08-23 02:18:41 +00:00
Vadim Zeitlin
34532177aa 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
2011-08-22 15:35:47 +00:00
Vadim Zeitlin
b30ad9676b 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
2011-08-22 15:31:38 +00:00
Vadim Zeitlin
dbab29b925 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
2011-08-22 15:31:36 +00:00
Vadim Zeitlin
60d10101b7 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
2011-08-22 15:31:33 +00:00
Vadim Zeitlin
66d9eb612b 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
2011-08-22 15:31:30 +00:00
Stefan Csomor
8b98275595 removing trailing comma
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 15:11:37 +00:00
Stefan Csomor
e516208e3d exposing wxGraphicsContext through an ordinary wxDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 15:10:07 +00:00
Václav Slavík
c08598f6cd Fix typo.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 14:14:55 +00:00
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