Commit Graph

4136 Commits

Author SHA1 Message Date
Vadim Zeitlin
a9544d0014 Avoid crashes in wxGenericListCtrl client<->screen conversion code.
At least in wxUniv build, DoScreenToClient() can be called before the main
control window is created which results in a crash when attempting to forward
to its DoScreenToClient() version.

Check for m_mainWin being non-NULL before using it to at least avoid the
crash, even if it's not really clear whether this is a 100% correct fix.

Closes #12390.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:11:32 +00:00
Vadim Zeitlin
97e5b0645e Clear selection when generic wxDataViewCtrl is cleared.
Selection could retain its old value and become invalid after calling Reset()
before.

Closes #12559.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:51 +00:00
Vadim Zeitlin
e6777e6575 Add wx{Pen,Brush}::Is[Non]Transparent() methods and use them.
Using GetStyle() == wx{PEN,BRUSH}STYLE_TRANSPARENT doesn't work for
uninitialized pen or brush objects so add convenient helpers which do work for
them.

Use the new helper functions everywhere instead of explicitly checking for
style. This makes the code shorter and more clear and also fixes some bugs (at
least those in GTK printing code).

Notice that this patch removes the main reason for explicitly initializing
m_pen and m_brush in wxGTKDCImpl ctor but this initialization still can't be
removed, at least for the latter, as doing this somehow breaks GetPixel(). It
would be nice to understand why and do remove this initialization so that a
newly created DC doesn't have any non-default pen nor brush.

Closes #12522.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:46 +00:00
Vadim Zeitlin
cff48ba847 Fix display of right aligned columns in wxGenericListCtrl.
Take into account the width of the image when drawing the right aligned item
in wxGenericListCtrl.

Closes #12562.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 22:10:45 +00:00
Vadim Zeitlin
71d6cd60ee Pass last page in wxEVT_WIZARD_FINISHED event.
Delay resetting the wizard page to NULL when it terminates to allow
wxEVT_WIZARD_FINISHED event to carry the correct pointer to the last page.

Closes #12537.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 22:10:39 +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
97e07b1cd9 Fix wchar_t with int comparisons for Apple gcc.
Apple gcc refuses to compile comparisons between wchar_t and int for some
reason, so add explicit casts to int to make it work there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-03 22:24:03 +00:00
Vadim Zeitlin
b7ff06ad15 Fix use of DELETE and BACKSPACE when starting editing grid with them.
Using the current insertion position in wxGridCellTextEditor::StartingKey()
didn't make much sense, it was always 0 -- so DELETE worked as expected and
did delete the first character of the cell but BACKSPACE never did anything.

Just always delete the first character when DELETE is used and always delete
the last one when BACKSPACE is.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-03 17:34:22 +00:00
Vadim Zeitlin
6a1e8a634a Fix non-ASCII key handling in wxGrid editors.
Use wxKeyEvent::GetUnicodeKey() correctly, there is no need to guess about
what does it return now that its correct behaviour is documented and
implemented. Simply check if it returns WXK_NONE to check for non-characters.

Also use WXK_START instead of hard-coded 255 when checking GetKeyCode()
result.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-03 17:34:15 +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
9e48865ca1 Fix assert when changing the filter selection on a multiple selection wxGenericDirCtrl.
Because ExpandPaths selects the item we can simply grab a list of selected paths and then expand them all in the multiple selection case. The single selection case is unchanged.

Closes #12340

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-22 19:24:41 +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
Steve Lamerton
92d9d10f80 Send generic wxListCtrl wxEVT_COMMAND_LIST_KEY_DOWN events from OnKeyDown rather than OnChar. Also remove the HasCurrent check. These changes bring the generic control into line with the control under wxMSW. Re-enable the previously failing unit test and document that the key down event might not have a valid item associated with it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-22 08:48:15 +00:00
Vadim Zeitlin
0dc44daa33 Allow use of report mode non-native wxListCtrl in wxListBook under Mac.
The use of wxListBook in report mode was disabled for wxOSX in r54001 and
r54318 (see #9484) because it created problems with the native wxListCtrl
implementation but the report mode can be used if we're using the generic
wxListCtrl version so do allow to use it if the system option governing the
choice of the version to use is set to "generic".

Of course, the real fix would be to correct the bugs in the native wxListCtrl
version and use report mode always but for now this at least restores correct
behaviour with the generic version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-16 19:36:29 +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
4d4c704c3e Use wxLocale::GetInfo() to get date format in wxDatePickerCtrlGeneric.
Instead of trying (and failing) to manually decode the format used by "%x",
simply use wxLocale::GetInfo(wxLOCALE_SHORT_DATE_FMT) and just change "%y" to
"%Y" if necessary.

The new code is more than 10 times shorter and also gives correct results
unlike the old version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 19:42:23 +00:00
Vadim Zeitlin
3e4f133a43 Initialize wxGenericProgressDialog button members in Init() too.
wxGenericProgressDialog::m_btn{Abort,Skip} were not initialized neither which
resulted in crashes inside EnableAbort() which was called if the "Cancel"
button was pressed in a native MSW dialog but the dialog wasn't cancelled (and
hence the button needed to be reenabled).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-10 17:26:11 +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
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
Václav Slavík
71dd05d58a Fix wxOwnerDrawnComboBox keyboard navigation with duplicate items.
If the combobox contained duplicate strings (i.e. multiple items with the
same string value, but differing indexes), then navigating to the second
and subsequent ones skipped to the first occurence instead. We need to
preserve the index.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-03 19:33:18 +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
bb612373c0 Don't center wxGenericMessageDialog elements.
Centering doesn't seem to be appropriate on neither of the major platforms and
makes wxGenericMessageDialog and wxGenericRichMessageDialog which uses it look
even less native than otherwise.

Simply don't do it neither for the text nor, especially, for the buttons where
wxStdDialogButtonSizer already exists to take care of their alignment.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-30 21:48:25 +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
Jouk Jansen
0772565873 Update openVMS compile support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-23 07:50:00 +00:00
Robert Roebling
2dd62dc008 Allow calling wxGenericDirCtrl::GetPath() in multiple selection mode, fixes #12340 ([wxGenericDirCtrl] conflicts wxDirFilterListCtrl::OnSelFilter())
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-21 10:17:13 +00:00
Vadim Zeitlin
8d5016b18b Slightly improve wx[Generic]RichMessageDialog layout.
Keep the icon at the top instead of centering it, this is more consistent with
the native behaviour under both MSW and GTK.

Get rid of an unnecessary sizer in wxGenericRichMessageDialog and give the
checkbox the right border to align with the rest of the dialog contents.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-19 15:41:24 +00:00
Vadim Zeitlin
c79510ca12 Make the main message of wxGenericMessageDialog stand out.
Use larger bold font for the main message in wxGenericMessageDialog if the
extended message is also given to make it stand out similarly to how it
happens in the native GTK and MSW dialogs.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-19 15:41:18 +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
3571e1add4 Add new wxCommandLinkButton class.
A command link button wraps a native MSW control under recent Windows versions
and is implemented generically as a simple bitmap button elsewhere.

In the future, GTK implementation should allow using a different font for the
button label and its note.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-17 14:48:50 +00:00
Vadim Zeitlin
1335062151 Fix line indices translation in wxGrid::DoEndDragResizeLine().
We used the translation in wrong direction, i.e. interpreted x coordinates as
rows and y coordinates as columns. This could result in passing invalid cell
indices to GetCellSize() and was generally completely wrong.

Closes #12311.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 22:39:04 +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
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
Václav Slavík
aecf930c5e Fix DnD in generic wxDataViewCtrl when scrolled.
wxDataViewMainWindow drag and drop code incorrectly used Y coordinate
where X axis should be used to check whether the mouse is inside columns
area. This manifested itself as refusing to accept drops once the
control was sufficiently scrolled down.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-06 16:28:46 +00:00
Václav Slavík
ce5abbf9f5 Fix wxDataViewCtrl to omit expander space for all kinds of lists.
List-only models don't have expanders and so the control shouldn't
reserve any space for them; the notion of expander column doesn't make
sense here.

Previously, this was done correctly only for wxDataViewVirtualListModel;
"ordinary" list models, such as the one used by wxDataViewListCtrl, were
treated as generic tree models and 0th column had ugly empty space
reserved for (never used) expander.

This patch fixes it by adding IsListModel() helper function in
addition to existing IsVirtualListModel(). Some of the
IsVirtualListModel() tests were changed into IsListModel() checks as
appropriate.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-29 20:54:00 +00:00
Robert Roebling
a3a8d81d48 Let wxMSW report wxDataViewCustomRenderer::LeftClick() report the click position relative to the inner cell, not the window - as in wxGTK, fixes #12270: wxDataViewCustomRenderer::LeftClick behaves differently under wxGTK and
wxMSW

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-27 17:04:44 +00:00
Francesco Montorsi
6333ffcca0 add a spacer in case the progress dialog is built without labels (elapsed/estimated/remaining) time nor buttons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-26 10:28:36 +00:00
Vadim Zeitlin
43fd7dbd79 Don't assert in wxDataViewCtrl::ItemDeleted() if item doesn't exist.
It seems that it might be valid to delete the items that the GUI control
doesn't know anything about, e.g. this could happen when deleting a child of a
collapsed node in a tree model. So remove the asserts which were triggered in
this case as there doesn't seem to be any way to avoid them with the current
code.

Closes #11802.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-23 23:33:01 +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
9bce7b7b13 Update wxSpinCtrlDouble::m_digits in its SetDigits().
We need to update the internally stored information about the number of digits
we use and not just update the control appearance accordingly.

Also don't do anything at all when the number of digits didn't really change.

Closes #12260.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-22 12:16:19 +00:00
Vadim Zeitlin
705c4d13d9 Don't use wxRendererNative::DrawFocusRect() under Mac.
This function doesn't do the right thing there, it draws the focus border as
it's drawn around controls such as buttons. This border overflows the item
rectangle and results in garbage remaining on screen when selection changes.

See #12229.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-14 14:52:28 +00:00
Vadim Zeitlin
63ced01b22 Generate key events in generic wxDataViewCtrl implementation.
Forward wxEVT_CHAR events from wxDataViewMainWindow to the parent window so
that they could be processed at wxDataViewCtrl level.

Call DisableKeyboardScrolling() to ensure that cursor movement keys are not
always eaten by the parent window but can be used for the navigation in the
control if they're not processed by user.

Add a test keyboard handler to the dataview sample to check that handling keys
in wxDataViewCtrl does work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-14 11:12:03 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +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