Commit Graph

1595 Commits

Author SHA1 Message Date
Václav Slavík
bed74e488f Generic wxDataViewCtrl: resize autosized columns at idle time.
This is much more efficient than doing it immediately when adding large
number of items into a control with lots of them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-31 09:04:41 +00:00
Václav Slavík
297e2532b1 Make generic wxDataViewToggleRenderer react to activation.
Previously it only responded to single-clicks, which was to avoid the
need to double-click checkboxes. Fixed to react to activation via
double-click or keyboard too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-29 17:25:33 +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
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
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
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
04675edfb1 Remove selection methods taking int from generic wxDataViewCtrl.
Current public API uses wxDataViewItem, this code dated back to 2.8.
They were now protected instead of public, the code wasn't used
anywhere and wasn't portable, it existed only in the generic version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 10:11:04 +00:00
Vadim Zeitlin
7112cdd1f3 Add support for wxHELP button to wxMessageDialog.
Implement support for wxHELP for wxMSW, wxGTK and wxOSX/Cocoa (at least when
showing the message box from the main thread, there doesn't seem to be any way
to show more than three buttons with CFUserNotificationDisplayAlert() so
"Help" button is not supported when using it).

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

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 22:53:42 +00:00
Vadim Zeitlin
9023040798 Replace wxControlContainer-related macros with wxNavigationEnabled<>.
Simply inherit classes which need to provide TAB navigation among their
children from wxNavigationEnabled<> and remove the now unnecessary
WX_DECLARE_CONTROL_CONTAINER() macros.

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

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

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:33 +00:00
Vadim Zeitlin
b64bb3ca1b Fix keyboard navigation in wxGrid with hidden columns.
The hidden columns (i.e. those whose size was set to 0) should be skipped when
find the previous/next column to select when the user presses Left/Right
cursor arrow keys in wxGrid, otherwise the focus could completely disappear as
it was invisible when it was set to a hidden column.

Closes #13281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:37 +00:00
Vadim Zeitlin
bc927c9a8c Generic wxHyperlinkCtrl appearance and behaviour improvements.
Show focus rectangle around the control when it has focus. Also handle the
space key to trigger the link.

Also allow using either the native or generic version of the class in the
widgets sample.

Closes #11285.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-15 21:56:23 +00:00
Vadim Zeitlin
8770af492a Fix keyboard navigation in wxGrid with reordered columns.
Don't mix up column internal indices and display positions in wxGrid keyboard
navigation code.

This ensures that pressing left/right cursor arrows always moves the cursor to
the previous/next column on the display, even if the columns were reordered.

Closes #13281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-15 13:33:10 +00:00
Vadim Zeitlin
2c6d6dfe60 Rename some parameters in wxGrid code to make them more clear.
No real changes, just call the variables containing display positions "pos"
and not "line" in wxGridOperations to avoid giving the impression that they
contain indices.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-15 13:33:07 +00:00
Vadim Zeitlin
bbfd454841 Add wxDataViewCtrl::SetRowHeight() and provide its generic implementation.
Allow changing the (fixed) row height without using wxDV_VARIABLE_LINE_HEIGHT
which may slow down the control display too much.

The new method is not implemented for the native GTK and OS X implementations
yet but should be simple to implement there.

See #12749.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-07 22:49:56 +00:00
Robin Dunn
eeea3b039e Virtualize StartEditor and add implementations for the ports that can do it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-31 19:36:47 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Václav Slavík
c81394808b Make wxSpinCtrlGeneric usable as wxDVC editor control.
wxDVC installs temporary event handler that watches for focus changes
and some key events. Make wxSpinCtrlGeneric look like a native
wxControl in this respect even though it's actually a composite control.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-01 18:44:35 +00:00
Dimitri Schoolwerth
e3778b4d9c No code changes, fixed some typos.
Changed several occurrences of "it's" where "its" is meant, as well as a few other minor typos.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-30 10:57:04 +00:00
Václav Slavík
64c70359a7 Return wxWindow* from wxDataViewCustomRenderer::CreateEditorCtrl().
There's no reason to limit custom editor controls to wxControl, which
would rule out e.g. composite controls or any custom widgets.
Make appropriate changes to related functions and code too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-22 18:25:32 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Jaakko Salli
10ba26777d Redone (generic) wxComboCtrl background painting and handling. The 'actual' wxWindow background colour is now largely ignored and overridden to refer the text-area's background colour instead (as is usually the case with controls like this). Base 'transparent' background is now only painted when double-buffered rendering is required, and otherwise delegated to the system, as appropriate. This should significantly improve control's appearance and compliancy with GTK+ and OS X themes and custom backgrounds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 10:59:22 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +00:00
Vadim Zeitlin
cd95f7e65c Add wxPanel::SetBackgroundBitmap().
This method provides a simple way to set a background bitmap without defining
an EVT_ERASE_BACKGROUND handler and, more importantly, one that works
correctly in wxMSW for a window with children as it paints the background of
transparent children too.

Add a test of this method to the erase sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:49 +00:00
Vadim Zeitlin
cf858bab79 Deprecate old style wxPanel ctor taking separate coordinates.
wxPanel had a ctor in very old (wx 1.x-compatible?) style which was marked as
"old" and not documented but not officially deprecated. Do deprecate it now in
view of removing it in later releases.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:42 +00:00
Vadim Zeitlin
5b87bd6c0b Split wxPanel in wxPanelBase and platform-specific files.
So far we have only wxMSW-specific implementation (and also a trivial
wxUniv-specific one) but it's still tidier to have all platform-specific code
in separate files, especially as we're going to have more of it for wxMSW
soon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:38 +00:00
Vadim Zeitlin
cb7ef329e7 Fix setting tooltips for generic wxSpinCtrl.
Forward the tooltip set for the control to its subcontrols.

Closes #9817.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-15 11:10:38 +00:00
Václav Slavík
548fa9c1eb Pass wxRect/wxPoint arguments to wxDataViewCustomRenderer by reference.
Instead of passing them by value, use const reference. This change
is safe to do, because these methods' signatures were different in 2.8
anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-01 12:16:49 +00:00
Václav Slavík
d2425a43ec Toggle checkboxes in generic wxDataViewCtrl with single click.
Both GTK+ and OS X native controls use single click to toggle
checkboxes, instead of double-click activation used by the generic
version. So does wxCheckListBox on Windows, so make wxDVC
behave the same way.

See #11185.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 21:23:10 +00:00
Václav Slavík
dbc3aec19a Get rid of WXGetAsCustom().
Instead, have WXOnActivate() and WXOnLeftClick() with same signatures as
their public API counterparts and just call Activate/LeftClick() from
them for wxDataViewCustomRenderer.

This accomplishes the same thing, but makes it easier to override
behaviour in wx's internal implementations of renderers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 21:23:04 +00:00
Vadim Zeitlin
2814e718ba Add markup support to generic wxStaticText implementation.
wxMarkupText allows to easily support markup in the controls that we draw
ourselves so use it in wxGenericStaticText to have a possibility to use
markup on all platforms, even those where there is no native markup support in
wxStaticText itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:38 +00:00
Vadim Zeitlin
c27126c7bc Add generic wxMarkupText class implementing handling of markup.
wxMarkupText is a private class that implements generic handling of markup
strings, i.e. can measure them and render them onto a wxDC.

This class will be used for markup support in wxMSW wxButton.

Also add wxMarkupParserAttrOutput which will be useful for other wxMarkupText
implementations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:21 +00:00
Vadim Zeitlin
af07be96eb Don't use wxTE_PROCESS_ENTER in wxSpinCtrlGeneric.
We don't need to catch Enter presses to generate spin control events as we do
it anyhow when we lose focus. So simply remove the Enter handling code
entirely (it could be used to generate wxEVT_COMMAND_TEXT_ENTER events but we
don't generate them nor wxEVT_COMMAND_TEXT_UPDATED at all currently in the
generic version).

Closes #12980.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-26 17:46:54 +00:00
Mattia Barbon
d20dfbf04b Fixed compilation when WXINTL_NO_GETTEXT_MACRO is defined.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-15 20:31:19 +00:00
Stefan Csomor
db2c04684d clang fixes, fixes #12332
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 18:35:01 +00:00
Paul Cornett
081d8d96db Move wxColourData and wxFontData into separate files.
This eliminates a linking dependency that would drag in the printing
code for any program that used wxColourDialog or wxFontDialog (which
is currently all of them, due to more link dependencies...)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 05:26:57 +00:00
Vadim Zeitlin
a9e41db760 Add wxCompositeWindow<> and use it in wxDatePickerCtrlGeneric.
wxCompositeWindow<> is a convenient base class for composite windows, i.e.
windows consisting of several other wxWindows. Currently it just automatically
forwards various attributes setters calls to all of the composite window parts
but it could become more useful in the future.

Similarly, for now it is only used in wxDatePickerCtrlGeneric but it could
(and should) be used for other composite controls later and we probably should
even make this class public to allow its use in the client code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-03 11:24:13 +00:00
Vadim Zeitlin
4a40cd9bae Forward declare classes instead of including their declarations.
No real changes, just reduce the compilation dependencies a bit by only
forward declaring wxComboCtrl and wxCalendarCtrl in wx/generic/datectrl.h
instead of including the headers with their full declarations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-02 22:03:56 +00:00
Jaakko Salli
db1087d2fd Added dummy GetTextWidget() implementation for wxMotif wxComboCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-23 10:26:06 +00:00
Jouk Jansen
f179b35ec2 correction to make wxGTK1 compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-20 13:33:39 +00:00
Jaakko Salli
084a875a2e Added dummy-wxTextEntry implementation section for wxUniversal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-20 11:23:14 +00:00
Jaakko Salli
fda6279358 Instead of having wxComboCtrl mimic wxTextEntry interface, make it actually inherit from the class and implement functions to redirect to the embedded wxTextCtrl. This allows us to simplify the code and get rid of the dirty trick of directing wxComboCtrl's validator to the embedded wxTextCtrl. Also see #12779, which issue 1 is fixed by this change.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-16 17:21:49 +00:00
Vadim Zeitlin
ef57807f27 Rename wxGenericDirCtrl::ExpandDir() to PopulateNode().
This function doesn't really expand anything (unlike CollapseDir()) so give it
a better name while keeping the old one too for compatibility.

See #12735.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-03 14:12:23 +00:00
Vadim Zeitlin
26696222ff Deprecate not working wxSplitterWindow::SetSashSize().
Setting sash size to non default value didn't work correctly and didn't make
much sense anyhow as the sash appearance is platform-dependent and current
code for drawing it doesn't work for arbitrary sizes.

Simply remove the possibility to set the sash size.

Closes #12412.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-22 01:23:16 +00:00
Vadim Zeitlin
f71adb5029 Fix resizing of wxGrid columns when they were reordered.
The column resizing code in wxGrid didn't take account of the fact that the
column positions and indices could be different. Correct it by inserting calls
to wxGrid::GetColAt() and GetColPos() in a new wxGridOperations::GetLineBefore()
method.

Closes #11984.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-13 15:02:42 +00:00
Václav Slavík
d0154e3a5a Add optional columns autosizing to wxDataViewCtrl.
Only implemented in the generic and GTK+ versions at the moment, OS X
support will be added later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:41 +00:00
Vadim Zeitlin
681be2ef80 Refactor: use wxBookCtrlBase::m_selection in all derived classes.
All book control classes with the exception of wxGTK wxNotebook stored the
currently selected page in m_selection or m_nSelection (or, in wxUniv
wxNotebook case, m_sel) variable. Remove all of them and add m_selection
directly to the base class itself so that it can be reused everywhere.

Closes #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:36 +00:00
Vadim Zeitlin
7e837615b9 No real changes, just replace -1 with wxNOT_FOUND in wxBookCtrl code.
Make the code consistently use wxNOT_FOUND instead of -1 everywhere.

See #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:24 +00:00
Vadim Zeitlin
0bb84570ce No real changes, just cleanup week days handling in wxGenericCalendarCtrl.
Use helper GetWeek{Start,End}() functions instead of repeating tests for
wxCAL_MONDAY_FIRST over and over again.

Also replace some occurrences of GetWindowStyle() with shorter and more clear
HasFlag().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:40:47 +00:00
Vadim Zeitlin
3c9863aca7 Keep displayed month and year in sync in wxGenericCalendarCtrl.
When the date was constrained to a range in wxGenericCalendarCtrl, the display
of the month in the month combobox could get out of sync with its real value.

Ensure that the correct month is always displayed and also simplify the code
by removing the apparently unnecessarily complex logic in ChangeYear() and
ChangeMonth() functions.

Closes #11060.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:40:41 +00:00
Vadim Zeitlin
93f6e00d7b Destroy the in-place edit control in wxGenericListCtrl dtor.
If the in-place text control was still alive when wxGenericListCtrl was
destroyed, it resulted in asserts from wxWindow dtor about child windows still
being alive, so explicitly destroy it from wxListMainWindow dtor.

As this required a slightly different behaviour from wxListTextCtrlWrapper::
EndEdit(), replace its bool argument with an enum one which can take more than
2 values. Not using bool values when calling it also made the code more clear.

Finally, added a unit test verifying that the in-place control is indeed
destroyed correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-05 13:38:05 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Steve Lamerton
2a4a928df7 Send generic wxTreeCtrl wxEVT_COMMAND_TREE_KEY_DOWN events from OnKeyDown rather than OnChar. This change means it sends events for the same keys as the wxMSW control. It also fixes the failing unit test.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-22 10:06:39 +00:00
Vadim Zeitlin
ed84dc74d9 Fix drawing of items with custom background in wxGenericListCtrl.
This was broken by the changes of r64879 which erroneously used
wxRendererNative::DrawItemSelectionRect() even for the non-selected items.

Now only use DrawItemSelectionRect() for the selected items to make them
appear natively while drawing the non-selected items with custom background
colour ourselves.

Also refactor the code to avoid (the not quite and hence especially
pernicious) duplication between wxListLineData::Draw() and DrawInReportMode():
rename SetAttributes() to ApplyAttributes() and draw the item background in
this function now instead of doing it in both Draw() and DrawInReportMode().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-14 13:18:48 +00:00
Vadim Zeitlin
cc31a982ec Block in wxMSW wxProgressDialog::Update(max) until the dialog is dismissed.
For consistency with the generic version and because it makes more sense than
blocking in the dialog destructor (which is the only other alternative for the
dialogs without wxPD_AUTO_HIDE to work), we should block in Update() when the
maximal value is reached for dialogs without wxPD_AUTO_HIDE style until the
dialog is dismissed.

Document this behaviour even more clearly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:26:03 +00:00
Vadim Zeitlin
2de77c6a54 Fix errors in handling of maximum field in wxGenericProgressDialog.
Provide a SetMaximum() function for setting just m_maximum and return its
value from GetRange() instead of using m_gauge->GetRange() which doesn't work
when the native MSW version is used nor when the range is > USHRT_MAX under
MSW in any case.

More generally, this should fix a lot of bugs for progress dialogs using such
range as the values were not interpreted correctly in many places.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:58 +00:00
Vadim Zeitlin
4f4d6f44f9 Rename wxGenericProgressDialog::ProgressDialogState to just State.
Repeating "ProgressDialog" twice is redundant.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:53 +00:00
Vadim Zeitlin
e77570de2e Don't use wxGenericProgressDialog::m_windowStyle for wxPD_XXX styles.
Storing progress dialog styles in the normal window style didn't work because
they clashed with the TLW styles. The original progress dialog implementation
worked around this by using separate m_has{Abort,Skip}Button variables instead
of relying on wxPD_CAN_{ABORT,SKIP} style bits but this didn't work for the
other styles and was unclear so the new native MSW implementation blithely
used m_windowStyle to test or them and other bits which didn't work at all,
see #12416.

Solve this by using a separate m_pdStyle variable for storing the progress
dialog styles and use it for all wxPD_XXX tests in both the generic and MSW
code. This fixes some bugs (although not all of them yet) and allows to get
rid of m_has{Abort,Skip}Button.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:25:28 +00:00
Vadim Zeitlin
7ad8a38ae5 Create temporary wxEventLoop in wxGenericProgressDialog if needed.
wxGenericProgressDialog needs to have an active event loop in order to repaint
itself and process clicks on its buttons but it's more helpful to create a
temporary event loop if there is no currently active one instead of just
asserting. In particular, this allows to use wxProgressDialog from overridden
wxApp::OnInit().

Add temporary event loop creation and remove the now unnecessary asserts
verifying that there is an active event loop as there always will be one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 11:44:46 +00:00
Vadim Zeitlin
79e58a409e Initialize wxGenericProgressDialog::m_winDisabler properly.
This field wasn't initialized by Init() which might have been harmless
considering the current code structure but still untidy, do set it to NULL
there.

Also move the forward declaration of wxWindowDisabler class in
wx/generic/progdlgg.h to the top of the file for consistency with the other
forward declarations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 11:44:40 +00:00
Vadim Zeitlin
b99450eecb Add wxGrid::RefreshAttr() method to force attribute refresh.
A cached attribute may continue to be used even though the attribute returned
by a custom wxGridCellAttrProvider has changed so add a method to force wxGrid
to update the attribute by forgetting the cached copy.

Closes #12406.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-30 22:18:52 +00:00
Vadim Zeitlin
d20ba5f860 Allow using custom labels for wxGenericMessageDialog buttons.
Custom labels set for wxGenericMessageDialog buttons were simply ignored as it
used CreateSeparatedButtonSizer() to create the actual buttons which in turn
always used the standard labels.

Fix this by explicitly creating the buttons with custom labels if necessary.

This also fixes custom label support in wxGenericRichMessageDialog deriving
from this class.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-30 21:48:21 +00:00
Vadim Zeitlin
d482d5e468 Compilation fix for non-PCH build in wxGenericRichMessageDialog code.
Move IsCheckBoxChecked() to the .cpp file where wxCheckBox is fully defined
and not just forward declared (at least when not using PCH).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-19 00:06:12 +00:00
Vadim Zeitlin
c31d9c7f60 Use task dialog for wxProgressDialog implementation in wxMSW.
If available, the task dialog is now used for the wxProgressDialog under
Windows. This provides a much more native looking dialog which doesn't look
out of place under modern Windows versions, unlike the generic implementation.

The internals of the code had to be significantly changed as the task dialog
can only be shown modally so, to emulate wxProgressDialog modeless nature, a
separate thread is used for the progress dialog management.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-18 22:49:02 +00:00
Vadim Zeitlin
a1bdd4ab9b Add wxRichMessageDialog class.
This is a generalization of wxMessageDialog based on the native task dialog
under recent (Vista and later) Windows versions and implemented generically
for the other ports for now.

It provides the possibility to use additional controls in the message boxes
(checkbox useful for the "Don't ask me again" kind of dialogs and collapsible
detailed explanations field) and better look and feel under Windows.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-18 22:48:41 +00:00
Vadim Zeitlin
ede7b01760 Provide a task-dialog based wxMSW wxMessageDialog implementation.
Use the task dialog instead of the legacy message box for wxMessageDialog
implementation under wxMSW on recent (Vista and later) Windows versions.

As part of this change, remove wxMessageDialogWithCustomLabels and integrate
its functionality in wxMessageDialogBase itself as it's now used by all
platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-18 22:48:28 +00:00
Vadim Zeitlin
b815cf68d2 Provide native wxHyperlinkCtrl implementation for wxMSW.
Use the "syslink" native control to implement wxHyperlinkCtrl under (recent
enough, i.e. XP or later) versions of Windows.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-17 16:55:32 +00:00
Vadim Zeitlin
d931703342 Inherit notebook background recursively under wxMSW.
With MSWSetTransparentBackground() hack only the panel which was the immediate
child of wxNotebook (i.e. its page) inherited the notebook background but not
its children. This resulted in jarring background discontinuities when nested
panels were used.

Fix this by inheriting notebook background in all child panels by testing for
the return value of the parents MSWHasInheritableBackground() method in
wxPanel::HasTransparentBackground() recursively.

Closes #12317.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 21:48:17 +00:00
Vadim Zeitlin
80ce465c64 Add wxDataViewCtrl::{Set,Get}CurrentItem().
Current item is the same as the selected item in single selection mode but in
multiple selection mode there was no way to neither get this item nor change
it before so add the new functions to allow doing this now.

The new methods are implemented for the generic, GTK and OS X/Cocoa versions
but only stubs are provided for OS X/Carbon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 12:53:03 +00:00
Jaakko Salli
346f3fd640 Removed spurious semicolon that prevented compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-08 11:59:34 +00:00
Vadim Zeitlin
62e9285aba Add name argument to wxDataViewCtrl ctor for consistency.
As all the other wxWidgets controls take the parameter in their ctor/Create()
it's unexpected that wxDataViewCtrl does not. Add the name parameter and pass
it to wxWindowBase::CreateBase() as usual.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-08 11:37:57 +00:00
Vadim Zeitlin
fda43a0e01 Fix compilation of wxSpinCtrlGenericBase when PCH are not used.
This fixes PCH-less compilation broken by r65043.

Closes #12259 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-22 13:42:38 +00:00
Vadim Zeitlin
713c7336f2 Fix explicitly setting focus to generic wxSpinCtrl.
The control itself can't accept focus as its window is disabled so set the
focus to its text part instead if SetFocus() is explicitly called.

Closes #12259.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-22 12:16:26 +00:00
Vadim Zeitlin
4a07d70634 Send right and double click events in wxGrid when using native header.
Previously only simple left click event was sent in this case, now also
generate right and double click ones.

Closes #12156.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 12:38:00 +00:00
Vadim Zeitlin
fd76c6a77d Remove scroll units duplication in wxGrid to fix setting them.
For some unknown reason wxGrid decided to store its scroll units in its own
m_scrollLine[XY] variables instead of just using the base wxScrollWindow class
m_[xy]ScrollPixelsPerLine ones. And, of course, the two could get out of sync
because wxGrid didn't update the base class version correctly.

Just don't duplicate these values at all and use the base class fields. This
makes the code simpler and also fixes changing the size of the scroll units.

Closes #12221.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-12 22:50:23 +00:00
Vadim Zeitlin
3dea8ba7ac Account for largest item in wxGenericListCtrl::GetBestSize().
Don't just return a hard-coded value but at least return something big
enough to show the largest item in the control in non-report mode.

This fixes the appearance of wxListbook which simply truncated its items
before if they didn't fit in 80 pixels horizontally.

Also switch to implementing DoGetBestClientSize() instead of DoGetBestSize()
as this method doesn't account for the control borders (it does account for
the scrollbars however).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-11 10:44:08 +00:00
Vadim Zeitlin
6218600646 Fix activation handling in generic wxDataViewCtrl renderers.
Handling of activation in the generic implementation of standard renderers was
broken since r62589 which stopped calling their Activate() method. Restore it
by introducing a special WXOnActivate() replacing it (but clearly marked as
private and implementation-only) and calling it instead.

Closes #11460.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:43:30 +00:00
Robert Roebling
5d9e160561 Make wxDataViewCtrl::GetColumnPosition() return the index under MSW as per GTK and the docs (fixes #12129), give immediate visual feedback after calling e.g. wxDataViewColumn::SetHidden(true) under MSW, also per GTK+ and as I'd expect. Make GTK+ control emit header click events also for non-reorderable columns. Add a few tests for wxDataViewColumn::SetHidden() and wxDataViewCtrl::GetColumnPosition()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-10 11:47:18 +00:00
Francesco Montorsi
a0e9a5dfde Implement wx-prefixed macros versions of DECLARE_EVENT_TABLE, BEGIN_EVENT_TABLE* and END_EVENT_TABLE macros.
Implement compatibility aliases for non-prefixed macro names.
Require a final semicolon where possible.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 14:28:08 +00:00
Francesco Montorsi
b19b28c8fc Implement wx-prefixed macros versions of DECLARE/IMPLEMENT*CLASS macros.
Implement compatibility aliases for non-prefixed macro names.
Require a final semicolon where possible.
Correct a recurring error in the docs: IMPLEMENT/DECLARE_CLASS are alias to the DYNAMIC macros, not to the ABSTRACT macros.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 13:55:48 +00:00
Vadim Zeitlin
86417abf07 Fix for user input processing in wxProgressDialog.
Yield for input event processing before updating the dialog instead of doing
it after this as the latter apparently doesn't always work.

Closes #10645.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 16:14:11 +00:00
Vadim Zeitlin
ebfee17940 Simplify and correct MSW selection of background brush for children painting.
Check for the transparency of the window background in MSWGetBgBrush() itself
and let MSWGetBgBrushForChild() just return the brush to be used.

This required adding a MSW-specific hack to wxPanel to allow inheriting
background of wxNotebook by its children which is slightly ugly but is exactly
what we need to do in this case and makes the rest of the code much simpler.

Also add a possibility to set the background of the page containing the
control being tested to the widgets sample to test for background inheritance.
This shows problems with wxSlider and wxRadioBox backgrounds but they're not
new with this patch.

Closes #12057.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 12:51:20 +00:00
Vadim Zeitlin
0fe260084e Build fix: forgotten part of the previous commit.
This commit should have been part of r64281.

Also notice that the previous commit message mentioned a wrong ticket number,
see #10572.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:28:17 +00:00
Vadim Zeitlin
b6812a6f19 Add column parameter to wxListCtrl::GetItemText().
Allow retrieving the text from columns other than the first one directly.

Add implementations for MSW and generic versions, documentation and a unit
test.

Closes #11597.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:22:16 +00:00
Vadim Zeitlin
64b62afea8 Don't accept focus in the dummy main generic spin control window.
This window is only used as a container for the sub-windows and shouldn't
accept focus, trying to set it to it doesn't work anyhow (see #12004).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:58:36 +00:00
Vadim Zeitlin
3a71210569 Don't send wxEVT_COMMAND_SPINCTRLDOUBLE_UPDATED when nothing changed.
The generic double spin control sent UPDATED events whenever it lost focus,
whether anything changed or not.

Don't send events unless the controls value has really changed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:58:32 +00:00
Vadim Zeitlin
742df99230 Move wxInfoBar to core library from adv.
This is necessary in order to be able to use it in the print preview (an
upcoming change).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-05 12:20:08 +00:00
Vadim Zeitlin
5708ae18f2 Add wxTreeCtrl::{Clear,Set}FocusedItem().
Allow changing just the currently focused (not selected) item and also
removing the focus completely.

Closes #11599.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-02 12:01:30 +00:00
Francesco Montorsi
b1153ed60f no real change: just fix RCS-ID so that it reflects the current revision number
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-25 21:33:16 +00:00
Vadim Zeitlin
db890987c6 Add documentation for several grid cell renderer/editor classes.
Document the previously undocumented renderers and editors.

Closes #11965.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-22 11:20:50 +00:00
Vadim Zeitlin
f994a8ac8d Add wxProgressDialog::Was{Cancelled,Skipped}() convenience methods.
Although the information about "Cancel" and "Skip" buttons presses is returned
from Update(), sometimes it may be more convenient to ask the dialog about
whether it was cancelled or skipped instead of storing it in the program
itself.

Add the methods which allow to check for this.

Closes #10903.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-20 11:10:33 +00:00
Vadim Zeitlin
476de5ea9a Fix crash in wxListbook if image list is assigned after adding pages.
The generic wxListCtrl didn't properly support switching between report and
non-report modes without invalidating the control contents, the required in
non report view geometry info pointers were not allocated when the control was
switched to a, say, list mode and not created in it.

Fix this by updating all list control lines when the report mode changes.

Closes #11698.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-12 00:37:08 +00:00
Vadim Zeitlin
697f4a966e Add initial selection parameter to wxGetSingleChoice() functions.
Allow to easily specify the initially selected item.

Closes #11749.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-21 11:06:31 +00:00
Vadim Zeitlin
459128ac88 Initialize picker style in native GTK file/dir pickers.
This fixes the styles used in the native wxGTK version after changes in
r63654: we must initialize base class m_pickerStyle now and the code didn't do
this before resulting in various asserts and incorrect behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-16 00:23:57 +00:00
Vadim Zeitlin
8eca1205e2 Use correct style for the dialog shown by generic file/dir pickers.
The picker styles don't make sense for the button so we don't use them when
creating the button but we do need to somehow use the style the picker was
created with to create an appropriate dialog when it's clicked.

Fix the problem by simply storing the style in a member variable and using it
instead of wxWindow::m_windowStyle.

Closes #11635.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-08 19:37:08 +00:00
Vadim Zeitlin
c1fae0d0ee Don't store header height in generic wxListCtrl member variable.
This is simply unnecessary and resulted in a crash in wxDFB because the window
was used for this variable initialization before being created.

Closes #11711.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-06 00:31:04 +00:00
Vadim Zeitlin
5cb3a695e0 Add wxTreeCtrl::SelectChildren() method.
Add MSW and generic implementation, documentation and change to the sample
showing it.

Closes #11620.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-26 12:43:39 +00:00
Vadim Zeitlin
ea99e8e31e Return the kind of cells span from wxGrid::GetCellSize().
Behaviour of GetCellSize() may be very surprising for the unwary as it can
return negative or null "size" of the cell.

Add CellSpan return value to allow the caller to check what kind of cell are
we dealing with easier.

Also document the new return value as well as the function (and matching
SetCellSize()) itself carefully as its behaviour is far from obvious.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-27 19:40:41 +00:00
Vadim Zeitlin
5851e64078 Restore correct access to wxGenericStaticText::Set{Font,Label}.
Accessibility of these methods was accidentally changed to protected in r62821
and this broke wxUniv compilation, make them public again.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-14 12:41:55 +00:00
Vadim Zeitlin
f26c1c3e4a Don't override DoGetBestSize() in wxGenericStaticText, it's unnecessary.
The base class already does exactly the same thing -- except that it also
accounts for the borders properly.

Also fix access for a couple of DoXXX() member functions which should be
protected and an event handler which can be private.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-08 15:56:21 +00:00
Paul Cornett
65391c8ffc minor cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-05 19:57:58 +00:00
Paul Cornett
cff9681b85 make access for virtuals match base
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-03 17:20:15 +00:00
Vadim Zeitlin
cfbc15ee04 Allow changing horizontal alignment of numeric cells in wxGrid.
wxGridCellAttr didn't provide any way to query its alignment attributes
without falling back to the (always defined) default alignment so the code in
wxGridCellNumberRenderer and similar classes simply always used right
alignment,

Add a new wxGridCellAttr::GetNonDefaultAlignment() function which allows to
retrieve the alignment defined in the attribute and use it to use right
alignment by default but allow overriding it.

Add a test to the sample showing a non right-aligned numeric cell.

Incidentally fix a long-standing bug in wxGridCell{DateTime,Enum}Renderers
which used wxRIGHT instead of wxALIGN_RIGHT and so were not aligned properly
even by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-27 01:47:38 +00:00
Vadim Zeitlin
ba0185b557 Add symbolic constant wxALIGN_INVALID and use it instead of -1 in wxGrid.
wxGridCellAttr was using literal -1 to indicate "no alignment" which wasn't
immediately obvious, use a new wxALIGN_INVALID (which has the same value)
instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-27 01:47:30 +00:00
Vadim Zeitlin
7430a4bbf8 Make wxFileDialog::Set/SetPath() behave consistently.
wxFileDialog::GetPath() didn't return the value set by a previous call to
SetPath() in wxMSW version. Fix this and also implement SetPath() and
SetDirectory() methods in the generic versions in the same way as
SetFilename().

Closes #3672.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-26 16:17:00 +00:00
Vadim Zeitlin
62265c2c67 Allow custom wxDataViewCtrl renderers to easily use attributes.
Set up the DC passed to wxDataViewCustomRenderer::Render() to use the font and
colour defined by the item attribute by default so that any calls to
RenderText() from it will use them automatically.

Also added public wxDataViewCustomRenderer::GetAttr() to allow retrieving the
attribute explicitly in Render().

The column using custom renderer in the dataview sample now works as expected
in the generic version; the native ones will be corrected in the upcoming
commits.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 17:41:11 +00:00
Vadim Zeitlin
6eec70b984 Big wxDataViewCtrl renderer classes refactoring.
This commit adds no changes in functionality but paves way for the upcoming
improvements of wxDataViewCustomRenderer.

First, introduce wxDataViewCustomRendererBase class in order to allow
implementing behaviour common to custom renderers in all ports in this class
instead of triplicating it.

This required splitting monolithic dataview.h in more parts, now we have
wx/dvrenderer.h which defines wxDataViewRendererBase and the new
wxDataViewCustomRendererBase and includes wx/port/dvrenderer.h which define
wxDataViewRenderer and wx/port/dvrenderers.h which defines all the other
renderer classes.

Also bring renderers hierarchy in the generic version closer to other ports:
all standard renderer classes now inherit from wxDataViewRenderer and not
wxDataViewCustomRenderer in for consistency with the other ports.
wxDataViewRenderer itself still does derive from wxDataViewCustomRendererBase,
unlike elsewhere, but this is unavoidable considering that all generic
renderers are custom ones.

Finally do some cleanup in OS X part of the code: correct indentation,
spacing, comment style.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 17:40:58 +00:00
Paul Cornett
f0368d28bf wxSpinCtrl values are always integral, they don't need to be rounded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 17:36:53 +00:00
Paul Cornett
92e164ff92 wxSpinCtrl::SetIncrement is supposed to take an int, not a double
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 17:12:36 +00:00
Vadim Zeitlin
d4953dd469 Remove unused anywhere wxDataViewRenderer::RightClick().
Code calling this method was removed by r53020 but its declaration was still
left (almost certainly by mistake) in the header, remove it now too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-09 01:57:52 +00:00
Vadim Zeitlin
6b8ef0b35d Merge SOC2009_FSWATCHER branch into trunk.
Merges everything from the branch with only some minor changes, mostly renamed
wxUSE_FSWATCHER_{INOTIFY,KQUEUE} to wxHAS_{INOTIFY,KQUEUE}.

Add wxFileSystemWatcher and related classes.

Also introduces wxEventLoopSource.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-22 11:35:43 +00:00
Vadim Zeitlin
c937bcac0f Add ellipsization support to wxDataViewCtrl.
Implemented ellipsization in the generic, GTK and both OS X Carbon and Cocoa
versions but it currently doesn't work well in GTK as it changes the item
alignment unconditionally, this will need to be fixed later.

The behaviour for the columns is currently inconsistent between ports too:
under MSW they (natively) use wxELLIPSIZE_END, under GTK -- wxELLIPSIZE_NONE
and under OS X the same ellipsization mode as the column contents, i.e.
wxELLIPSIZE_MIDDLE by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-16 21:35:26 +00:00
Vadim Zeitlin
84fc95da58 Use correct colour for selected items in generic wxDVC.
wxDataViewCustomRenderer::RenderText() taking attributes must use correct
colour for the selected items if no attribute is specified as it can be (and
is) called directly and not only via the compatibility overload.

This fixes the display of the selected items in the dataview sample broken by
recent changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-15 16:53:45 +00:00
Vadim Zeitlin
38c349189a Implement attributes support in generic wxDataViewIconTextRenderer.
Simply override RenderWithAttr() instead of Render().

Update the sample to show that this works now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-12 22:44:15 +00:00
Vadim Zeitlin
3e60a3c147 Make generic wxDataViewProgressRenderer fill the entire cell.
After the fixes in the previous commit it is finally possibly to make the
progress renderer expand to the entire cell area instead of taking a
fixed width, it is enough to simply override RenderWithAttr() instead of
Render() and ignore the alignment as this avoids the use of (arbitrary and
hardcoded) wxDataViewProgressRenderer::GetSize().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-12 22:44:09 +00:00
Vadim Zeitlin
a6f1201f97 Handle cell alignment in the renderer itself in generic wxDVC.
Instead of using wxDataViewRenderer::GetSize() and rendering the cell into the
appropriate part of the rectangle, pass the full rectangle and the alignment
of the cell contents in it to the renderer itself.

This fixes the bug with bold text being truncated in the "attributes" column
of the dataview sample and is also generally more flexible as the renderer may
decide itself what to do with the extra space.

It also somewhat reduces the code duplication between CreateItemBitmap() and
OnPaint().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-12 22:44:03 +00:00
Vadim Zeitlin
2d0d781336 Remove wxDataViewTextRendererAttr by merging it with wxDataViewTextRenderer.
There is no reason to have a separate class for rendering the text honouring
the attributes defined for it, wxDataViewTextRenderer itself already does this
perfectly well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-12 13:59:25 +00:00
Vadim Zeitlin
3996b21a7f Determine the appropriate show effect automatically in wxInfoBar.
Slide the info bar from top or bottom of the parent window depending on its
location.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:57:45 +00:00
Vadim Zeitlin
15ea6e205b Remove the hack with changing the parent background colour in wxInfoBar.
Finding the closest info bar to copy the background colour from only worked
for very simple layouts and failed for more complicated ones with nested
sizers so don't try to change the colour automatically, it's easy enough to do
it manually as shown in the updated dialogs sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:57:39 +00:00
Vadim Zeitlin
5cdd380565 Don't use themed border for the generic info bar.
Since the switch to deriving from wxControl instead of wxWindow, the info bar
gained a themed border which doesn't look nice for it, especially when it is
shown progressively, as happens under Windows.

Restore the old behaviour by overriding GetDefaultBorder() to return
wxBORDER_NONE for it. This doesn't look perfect neither however, we may want
to draw a separator line between it and the parent window ourselves as even
wxBORDER_SIMPLE looks too heavy for it (and there should be definitely no
border on its sides as it always touches the parent window edges).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:56:22 +00:00
Vadim Zeitlin
0b1add25fd Added wxInfoBar::Dismiss().
Add a method to conveniently hide the info bar and update the parent layout.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:56:07 +00:00
Vadim Zeitlin
cc7033c2f5 Use event tables instead of Connect() in wxInfoBarGeneric.
This allows to handle events from the info bar buttons in the derived classes
using the event tables while if the base class used Connect(), the derived
classes static event handlers would be never executed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:55:22 +00:00
Vadim Zeitlin
e6b2aae1b8 Add wxInfoBar::RemoveButton() method.
Also change the GTK implementation to use a separate wxInfoBarGTKImpl to store
its data, this object won't be even allocated if a generic implementation is
used under GTK.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:55:17 +00:00
Vadim Zeitlin
ed8efd46d9 Added native wxInfoBar implementation for wxGTK.
Straightforward implementation of wxInfoBar using GtkInfoBar widget available
in GTK+ 2.18.

Some side effects of this change:

- Rename wxInfoBar version in wx/generic/infobar.h to wxInfoBarGeneric and
  define wxInfoBar in wx/infobar.h.
- Also change default value of flags argument to ShowMessage() to
  wxICON_INFORMATION from wxICON_NONE as the default colour for wxICON_NONE
  messages is surprisingly ugly in GTK native version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:55:10 +00:00
Vadim Zeitlin
374ae80f2c Added wxInfoBar::AddButton().
Allow adding custom buttons to wxInfoBar and show this in the sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:54:31 +00:00
Vadim Zeitlin
df8c364bf4 Made wxInfoBar::SetFont() change the text message font.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:54:24 +00:00
Vadim Zeitlin
a92b5dfe8c Initial wxInfoBar implementation.
Add generic implementation, documentation and examples showing the use of the
new class in the samples.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:54:13 +00:00
Vadim Zeitlin
670d01778a Extract default grid header renderers from wxGridCellAttrProvider.
We must be able to use them even when we have no attributes at all
and even when we have no associated table, so use default renderers in wxGrid
implementation of Draw{Row,Column}Label()/DrawBorder() in this case.

Closes #11230.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-23 14:28:55 +00:00
Vadim Zeitlin
a8030f0eaa Really fix VC6 compilation after r61919.
The change in r61922 which was supposed to do it somehow forgot the fix itself
and added only a comment explaining why it was needed. Really do name the
struct now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-15 17:05:13 +00:00
Vadim Zeitlin
c9a199c6a6 Add virtual dtor to header renderer classes to avoid g++ warnings.
g++ warns about class with virtual functions having non-virtual dtor so make
the dtor of wxGridCornerHeaderRenderer virtual even if it's not really needed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-14 23:21:48 +00:00
Vadim Zeitlin
ade40d72f0 Fix VC6 compilation after r61919.
Work around VC6 bug which resulted in error C2639 when compiling the
declaration of an unnamed struct inside wxGridCellAttrProvider.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-14 08:37:28 +00:00
Vadim Zeitlin
ba9574c310 Added support for corner, row and column headers renderers to wxGrid.
Make it possible to customize the appearance of wxGrid corner window and its
row and column headers by defining custom renderers for them.

Add demonstration of this new feature to the grid sample and update the
documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-14 00:45:29 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Vadim Zeitlin
6cf6897100 Don't pop explicitly changed status messages.
Calls to SetStatusText() in between Push/PopStatusText() were simply lost
before, now the text explicitly changed by SetStatusText() is preserved by the
next call to PopStatusText().

This required adding a new virtual method, called DoUpdateStatusText(), which
is now implemented in all the derived classes instead of overriding
SetStatusText() (on the bright side, it doesn't need to do any checks already
done in the base class any more).

Also fix PushStatusText() to actually show the text being pushed at all under
wxMSW as a side effect.

And further reduce code duplication between wxStatusBarBase and the derived
classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-06 00:01:43 +00:00
Vadim Zeitlin
b5a9b87e16 wxSplitterWindow mouse capture improvements and cleanup.
- Handle mouse-capture-lost event to abort dragging mode.
- Remember mouse and sash position on buttondown event and use them as
  absolute reference during dragging. Avoid delta values from one mousemove to
  the next as this may introduce a skew during dragging and especially when
  coordinate clipping occurs.
- Clear the requested sash position when dragging in live mode.
- Draw the tracker at correct coordinates - taking into account the width of
  the pen used to draw the tracker.
- The old code did not clearly distinguish between live vs. tracking mode in
  some places.

Closes #11076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-05 17:25:27 +00:00
Vadim Zeitlin
ad09ec03f2 Compilation fix for wxUSE_FILECTRL && !(wxUSE_DIRDLG || wxUSE_FILEDLG).
wxFileCtrl needs wxFileIconsTable too.

Closes #11064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-03 20:45:07 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
5d0d7c2058 removed wxDatePickerCtrlGeneric::SetFormat() which didn't exist but was declared and documented (closes #10988)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-19 16:49:29 +00:00
Vadim Zeitlin
bc73d5aec8 Changed wxLog DoLogXXX() callbacks and introduced wxLogRecordInfo.
The main logging callback is now DoLogRecord() with DoLogTextAtLevel() and
DoLogText() provided for convenience. The old DoLog() and DoLogString() are
still called but deprecated and their overloads taking wxString which were
only added in 2.9.0 are removed.

wxLogRecordInfo allows associating more information than just the time stamp
with the log record; for now only the logging thread id was added but more
fields will make their appearance soon.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-08 13:47:33 +00:00
Vadim Zeitlin
febebac1a0 added wxTreeCtrl::GetFocusedItem() (closes #10859)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-19 23:34:51 +00:00
Robert Roebling
b42d5f7556 Use wxRefCounter instead of wxObjecrDataRef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-12 20:18:17 +00:00
Vadim Zeitlin
92ffc98a08 reuse wxObjectRefData for various ref-counted classes (closes #10886)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-12 17:14:28 +00:00
Robert Roebling
58e914f015 Remove remaining bits of marker drawing during resizing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-12 16:15:35 +00:00
Vadim Zeitlin
80f624ec0c added multiple selections support to wxDirCtrl (closes #10830)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-06 14:00:51 +00:00
Francesco Montorsi
ed1288eef0 add wxProgressDialog::SetRange() function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-01 23:19:25 +00:00
Vadim Zeitlin
e1983cad7c implement Update() properly for the generic wxListCtrl (see #10857)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-30 22:25:42 +00:00
Vadim Zeitlin
6528a7f145 make wxWindow::SetAutoLayout() now works for all windows, not just panels
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-23 11:26:58 +00:00
Vadim Zeitlin
ec86c7ce41 no real changes, just remove unneeded empty dtor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-22 19:54:09 +00:00
Vadim Zeitlin
5c3313a968 return the correct number of columns from wxGridStringTable, even when we don't have any rows (closes #10818)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-22 19:53:32 +00:00
Vadim Zeitlin
c5c1ea9648 rename wxGrid::SendSizeEvent() to SendGridSizeEvent() to avoid warnings about conflicts with base wxWindow class method with the same name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-01 22:59:58 +00:00
Vadim Zeitlin
27bb2c8cb7 generate wxEVT_GRID_{COL,ROW}_SIZE events when the user double clicks the separating line too; do not generate these events if the size didn't really change (further improvements to grid events are possible and remain needed, see #10754)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-29 21:59:10 +00:00
Vadim Zeitlin
82edfbe7d9 add a possibility to disable individual grid rows/columns resizing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-26 17:02:53 +00:00
Vadim Zeitlin
c173e541b8 add parent parameter to wxAboutBox() (closes #9952)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-26 13:41:21 +00:00
Vadim Zeitlin
a3ef8eb503 set correct EOL style for files added in r58024
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-26 10:52:13 +00:00
Francesco Montorsi
c4c178c10d use wxSTB_ as prefix for wxStatusBar styles; add support for wxSTB_ELLIPSIZE_* flags under wxGTK; support wxSTB_SHOW_TIPS even if no ellipsization mode is active; update the sample to allow the user to choose the wxStatusBar style dynamically
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 12:59:09 +00:00
Francesco Montorsi
c94bdf2a19 implement tooltips for wxStatusBar panes whose contents were ellipsized; introduce wxST_SHOW_TIPS and wxST_DEFAULT_STYLE styles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-21 11:10:44 +00:00
Vadim Zeitlin
b18e2046af pass wxIntPtr, not wxUIntPtr, to wxListCtrl::SortItems() callback as it's more compatible with the existing code assuming that this parameter is signed (as our own wxFileCtrl did)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-16 13:00:40 +00:00
Vadim Zeitlin
6e2f308461 use wxUIntPtr instead of long for 3rd parameter of wxListCtrl::SortItems() to allow passing pointers to it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-15 21:23:50 +00:00
Vadim Zeitlin
b895ab50e2 move forward declarations unneeded in wx/log.h to wx/generic/logg.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 15:40:53 +00:00
Vadim Zeitlin
f1ddb476b1 use wxALIGN_LEFT/CENTRE/RIGHT instead of wxTE_XXX to avoid problems with the latter not being defined in wx/spinctrl.h on non-MSW platforms (see #10621)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 10:55:55 +00:00
Vadim Zeitlin
c218ccee9f no changes, just wrap long lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 10:51:26 +00:00
Vadim Zeitlin
7e4952db83 add alignment flags support to wxSpinCtrl[Double] (closes #10621)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 09:18:46 +00:00
Vadim Zeitlin
70c147281a also fix handling of wxSP_ARROW_KEYS|wxSP_WRAP (see #10565)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-10 15:45:13 +00:00
Robert Roebling
c937344c8f Commit most parts of #10495 wxDataViewCtrl needs a way to start the label editor programmatically
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-08 21:41:57 +00:00
Vadim Zeitlin
e5cfb314ae replace wxGetMultipleChoices() with wxGetSelectedChoices() which allows to distinguish between cancelling the dialog and not selecting any items in it (closes #10057)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-07 15:39:09 +00:00
Robert Roebling
220bfe1596 Make all instances of HasEditorCtrl() const, not just a few
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-06 19:07:40 +00:00
Vadim Zeitlin
78e7881208 pass ApplyEdit() arguments to EndEdit() too for better backwards compatibility (closes #10544)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-06 10:38:45 +00:00
Francesco Montorsi
bc4f1ff265 Indentation/coding style adjustments.
Make the columns resize when dragging the columns in the header control intercepting the EVT_HEADER_RESIZING event

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-06 00:05:05 +00:00
Vadim Zeitlin
ed17f32923 remove SetValue() which is not needed and which definition was removed by the previous change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 14:49:55 +00:00
Vadim Zeitlin
135b23b266 added wxTextEntry::DoGetValue() to allow returning empty string if the control currently contains hint text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 13:31:29 +00:00
Vadim Zeitlin
8cc208e39f deprecate the old TryValidator/Parent() and replace them with the new and documented TryBefore/After()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 16:16:31 +00:00
Vadim Zeitlin
574e1c5a03 added wxGrid::{Set,Get}{Row,Col}Sizes() methods allowing to save/restore all grid rows/columns sizes at once
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-25 23:41:29 +00:00
Kevin Ollivier
a05e6efe61 Fix for deprecated constructor issues, setting a function without a body as inline doesn't work for Mac whether debug is set or not. Since it's a workaround for old versions of gcc, limit its use to those cases to avoid future problems.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-24 22:19:10 +00:00
Robert Roebling
a1abd1a923 Make wxImageList not copiable (fixes #10503), replace wxList with wxObjectList
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-19 20:26:00 +00:00
Francesco Montorsi
0cd159592e save the current status text for each pane inside wxStatusBarPane: native controls now store the (eventually) ellipsized version of the string; remove code for managing the status strings currently inside the [native|generic] control; add ellipsization support under wxMSW; now that all SetFieldsCount() implementation rrely on wxStatusBarBase::SetFieldsCount document how it behaves when adding new panes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-09 00:33:19 +00:00
Francesco Montorsi
ba4589db1d optimize rendering code by calling GetClientSize(), GetTextExtent() and CalculateAbsWidth() only when strictly needed; update cache from an OnSize() event handler; fix RTL code: wxDC::DrawText() is RTL-aware itself and doesn't need special calculations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 19:17:07 +00:00
Francesco Montorsi
78612fa68f use Ellipsize() in wxStatusBarGeneric so that the text is correctly ellipsized when exceeding field width; avoid that text overlaps the size grip
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 13:30:40 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Kevin Ollivier
b916f71245 Add (currently unimplemented) missing wxRegion constructors for wxRegionGeneric.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 23:20:45 +00:00
Vadim Zeitlin
9b11752c4f require semicolon after wxDECLARE/DEFINE_EVENT() (closes #10456)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 18:59:25 +00:00
Vadim Zeitlin
5d55031c21 compilation fixes for wxMSW/Univ
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 10:07:58 +00:00
Francesco Montorsi
6dbf7a3750 blind fix for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 20:59:03 +00:00
Francesco Montorsi
7737e2fd00 add GetControlWidget() accessor to the generic wxCollapsiblePane
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 16:26:38 +00:00
Stefan Neis
35524f615e Removed extraneous semicolons and commas (partly fixes #10456).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 04:48:19 +00:00
Vadim Zeitlin
4d833b7b7f add missing headers for PCH-less build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-27 13:10:43 +00:00
Francesco Montorsi
ad48602087 small cleanup; move private class definitions in a private header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-27 12:01:54 +00:00
Vadim Zeitlin
232b216277 added support for wxCAL_SHOW_WEEK_NUMBERS to generic version of wxCalendarCtrl (#10033)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 13:47:20 +00:00
Francesco Montorsi
004867dbc5 Change in wxWindow the access specifier of the wxEvtHandler event processing and queuing functions
from public to protected. Adapt wxWidgets code and wxWidgets samples to always use wxWindow::GetEventHandler()
when calling such functions on a wxWindow rather than directly using wxWindow::ProcessEvent, etc.
This enables correct event dispatching to the event handlers which have been pushed (with PushEventHandler) on the 
windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 11:58:39 +00:00
Stefan Csomor
473d6885de bring in the definition of wxScrollHelper, making non-precomp builds working again after r58312
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-24 17:01:46 +00:00
Vadim Zeitlin
9adeb77af4 add missing wxUSE_DRAG_AND_DROP checks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-23 23:55:17 +00:00
Robert Roebling
06cd40a8b9 Reorganized wxListCtrl's window layout (same as wxDataViewCtrl), call RecalculatePositions() from OnPaint() to get rid of flicker
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-22 23:01:14 +00:00
Robert Roebling
3fdf86f91e Override GetDefaultBorder, currently changes nothing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-22 13:33:00 +00:00
Robert Roebling
821baf7da4 Skeleton for generic Drag code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 19:04:03 +00:00
Vadim Zeitlin
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Robert Roebling
c0d2308b25 Use paint handler instead of wxClientDC to draw DnD visual effects within wxTreeCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-15 20:57:06 +00:00
Vadim Zeitlin
3c77890141 add more flexible and safer template Connect() overloads (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Francesco Montorsi
29efc6e4a4 split wxGrid implementation in grideditors.cpp (for wxGridCellEditor-derived classes), gridctrl.cpp (for wxGridCellRenderer-derived classes)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 15:49:37 +00:00
Francesco Montorsi
2903e6998a just fix some $Id$ tokens
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 11:58:34 +00:00
Francesco Montorsi
40ae960071 Fix wxTextValidator introducing a wxTextValidatorStyle enums since it does not support multiple combined styles; fix wxTextValidator::Validate when wxFILTER_EXCLUDE_LIST is used; fixes #1211
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-09 12:43:20 +00:00
Robert Roebling
674f0f2783 use wxRound(x) instead of int( x+0.5 )
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 14:36:18 +00:00
Francesco Montorsi
89efaf2b65 change generic ints to enums in wxDC (closes #9959)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 14:21:53 +00:00