Commit Graph

28341 Commits

Author SHA1 Message Date
Vadim Zeitlin
bbdee10d5f Fix recently broken forwarding of events between event handlers.
After the recent changes to the event processing logic, forwarding an event
from one event handler to another one stopped working correctly because the
per-event "process here only" flag prevented it from following the event
handler chain after forwarding. This notably broke keyboard navigation in
wxComboCtrl under MSW in wx itself and probably quite a few of other things in
user code.

Fix this by replacing the boolean flag with a pointer to the handler to which
the processing of this event should be restricted. This allows the full
processing to still take place if an event is forwarded to another handler.
So wxEvent::ShouldProcessHereOnly() is now called ShouldProcessOnlyIn() and
takes a wxEvtHandler parameter.

This made appear a problem in wxScrollHelperEvtHandler code that was hidden by
the bug above: the events were still processed multiple times in it. To fix
this, also add wxEvent::DidntHonourProcessOnlyIn() and take it into account in
the base class code. Did I mention that wxScrollHelperEvtHandler must die?

Add another unit test checking that forwarding works correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-02 11:58:31 +00:00
Vadim Zeitlin
ce6b1014bf Fix drawing of scaled bitmaps in wxCairoContext.
We must offset the coordinate system before scaling it, otherwise incorrect
offset is used.

Add a test for drawing translated/scaled bitmaps to the drawing sample.

See #11097.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-02 11:58:25 +00:00
Vadim Zeitlin
80d7019761 Remove unused GetTextExtent() call from wxProgressDialog.
This seems to be a left-over from the old, manual positioning code. As we use
sizers now, it's not needed any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-02 11:58:16 +00:00
Jaakko Salli
87b3708781 Interpret arrow keys correctly in wxMSW wxComboCtrl::IsKeyPopupToggle() (fixes #12114)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 15:31:05 +00:00
Jaakko Salli
db3d75435a In wxComboPopupEvtHandler::OnMouseEvent(), when need to relay event to drop-down button, call HandleButtonMouseEvent() directly, if possible. This is less confusing for the platform-specific wxComboCtrl implementations, and fixes issue where the drop-down button could remain in pressed state after the mouse button was lifted.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 15:01:59 +00:00
Jaakko Salli
063155781d For clarity: wxComboPopupExtraEventHandler -> wxComboPopupEvtHandler (there is nothing particularly extra about it)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 14:17:32 +00:00
Jaakko Salli
4794626d03 Refactored wxComboPopupExtraEventHandler::OnMouseEvent(). Now block mouse events from the popup control until mouse button has been seen in 'up' state (ignoring first mouse up). This matches Windows native combo box behavior (fixes #12115).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 13:46:14 +00:00
Vadim Zeitlin
76e1326add Update AUI floating windows position and not just size on resize.
When a window is resized, its position can change as well as its size but it
wasn't updated before. Do it now.

Closes #11421.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 14:59:18 +00:00
Vadim Zeitlin
b27367a5bd Don't disable wxID_PRINT_SETUP even when there is no active document.
Printer can be setup without active document, remove the EVT_UPDATE_UI handler
for wxID_PRINT_SETUP.

See #11394.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 14:59:08 +00:00
Vadim Zeitlin
7e22c2bd02 Use C locale for numbers in wx(File)Config.
Using the current locale decimal point in config files results in problems
when moving the files to another machine or even using a different locale on
the same one, so don't do it.

Always write the numbers using C locale and try to read them in C locale too
first, but also try the current locale if we failed for backwards
compatibility and to be tolerant with users who edit their config files by
hand.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 11:55:53 +00:00
Vadim Zeitlin
951201d81c Add wxString::FromDouble() and FromCDouble().
wxString::FromCDouble() is needed inside wxWidgets itself to format numbers
independently of the current locale. FromDouble() was added for symmetry with
ToDouble/ToCDouble() functions.

Use std::locale for the implementation if available and manual wxLocale-based
fallback otherwise.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 11:55:48 +00:00
Vadim Zeitlin
105993f7b6 Make wxString::ToCXXX() methods always available.
We use these methods inside wxWidgets itself and so want to always have them,
even when wxUSE_XLOCALE==0. Provide replacement manual implementations for
this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 11:55:41 +00:00
Vadim Zeitlin
cd49ac33b3 Fix wxFont::IsFixedWidth() under MSW to always return correct result.
This function worked erratically, returning the correct result or not
depending on the way it was created. Reimplement it using GetTextMetrics() to
get the correct result in any case.

Closes #4714.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 23:28:59 +00:00
Vadim Zeitlin
f68e16c5fc Add <span> tag and limited support for CSS styles to wxHTML.
Parse "style" attributes of the HTML tags and honour those of them that can be
mapped to the HTML 3 attributes.

Also add a handler for <span> tag.

Closes #10631.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 23:12:25 +00:00
Vadim Zeitlin
8325504f4b Activate the view of a newly created document.
This appears to be necessary under Mac where views are top level windows and
should do no harm elsewhere.

Also factor out the activation code in a new wxDocManager::ActivateDocument()
method to avoid duplicating it.

Closes #11417.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 20:05:44 +00:00
Vadim Zeitlin
b99017ce20 Store page setup data in wxDocManager.
Printing of documents from wxDocManager always used default page setup data,
allow the user to configure it now.

Add wxDocManager::m_pageSetupDialogData and add a handler for wxID_PRINT_SETUP
command to it.

Closes #11394.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 20:05:39 +00:00
Vadim Zeitlin
65052c6fa7 Don't generate AUINOTEBOOK_BG_DCLICK when clicking inactive arrow.
Clicking on a disabled arrow shouldn't do anything, in particular it shouldn't
generate a wxEVT_COMMAND_AUINOTEBOOK_BG_DCLICK event.

See #12084.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 20:05:34 +00:00
Robert Roebling
9c76b9afa9 Patch update, probably fixes #12090: wxGTK cursor handling revamp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 20:01:36 +00:00
Robert Roebling
dec7b5a808 Use GTKXXX notation for some more wxGTK specific methods for consistency
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 17:45:40 +00:00
Julian Smart
a216dfa2c1 Caret position corrected to end of selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 14:00:35 +00:00
Václav Slavík
4a0dcc87af Fix Shift+TAB navigation from wxNotebook.
When the focus was on a tab label, Shift+TAB didn't move it out of the
notebook to the preceding control, as it should. Instead, focus moved to
the last control in the current notebook page.

This change fixes it, TAB and Shift-TAB cycling through controls now
behaves identically modulo direction.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 12:21:49 +00:00
Paul Cornett
375efc1fce Remove pizza backing window.
When it is present, no-window widgets sometimes don't get expose events for
reasons I could not determine. And it is dubious that it improved scrolling
performance on modern hardware anyway, and almost certainly doesn't help now
that GTK+ is using "client side windows".


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 06:38:28 +00:00
Vadim Zeitlin
6305f044a1 Add "filter changed" event to wxFileCtrl.
Generate an event when the selection in the filter combobox of wxFileCtrl
changes.

Closes #12099.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-29 10:35:47 +00:00
Vadim Zeitlin
384859f8c6 Add wxConfig::Read(float *) overload.
This uses Read(double *) but casts the result to float after checking that it
is in the correct range.

Closes #12100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-29 10:35:38 +00:00
Vadim Zeitlin
84f4eef892 Show OLE errors using wxLogDebug() in wxAutomationObject.
Enable the previously commented out ShowException() but use wxLogDebug() in it
instead of wxLogWarning() to avoid confusing the users with errors they don't
care about.

Closes #11632.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-29 10:35:30 +00:00
Jaakko Salli
47450ed137 Fixed assert when editing wxFontProperty with unspecified value (fixes #12086)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-29 10:01:35 +00:00
Jaakko Salli
eb7117d978 In wxComboPopupExtraEventHandler::OnMouseEvent(): Also include wxEVT_LEFT_UP among the mouse events to be blocked when the cursor is outside the popup area. This fixes wxMSW bug where the popup disappears immediately after mouse button is released (see #12087).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 20:03:07 +00:00
Vadim Zeitlin
62b91200c7 Ignore "%*" in the shell command strings in MSW registry.
Apparently "%*" can be used now in addition to the usual "%1" in the MSW shell
command strings. As we don't support passing more than one file to a command
at once anyhow, simply ignore them. At least this avoids errors when trying to
open files with some extensions.

Closes #12091.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 17:07:46 +00:00
Vadim Zeitlin
1922588894 Fall back on using tree/list control item text in wxDragImage.
Use the item text instead of its image if it doesn't have any when creating a
wxDragImage from a wxTreeCtrl or wxListCtrl item instead of just failing.

Closes #4390.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 17:07:40 +00:00
Jaakko Salli
735a300a96 Fixed wxComboCtrl::SetButtonPosition() on Vista/Win7 by marking the drop-down button as 'non-standard' when its size or position is changed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 14:51:07 +00:00
Jouk Jansen
9015d579c8 use wxToggleButtonXmlHandler::DoCreateBitmapToggleButton on supoorted platforms only
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 13:45:06 +00:00
Francesco Montorsi
363daf0bd1 fix incoherency between the wxThread implementation based on MSW threads and pthread: Delete()ing a thread which hasn't started yet must return wxTHREAD_MISC_ERROR
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-26 22:44:13 +00:00
Robert Roebling
c2246a3881 Applied patch, fixes #12090: wxGTK cursor handling revamp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-26 17:37:55 +00:00
Vadim Zeitlin
81fb185e4f Fix setting the fonts for wxMSW wxTextCtrl with wxTE_RICH(2) style.
Using WM_SETFONT seemed to work with rich edit controls but in fact it
doesn't, it only changes the font used by the control initially apparently but
it can be reset later.

Use EM_SETCHARFORMAT which is more reliable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-25 21:15:24 +00:00
Jaakko Salli
b8ea299a7e Draw wxPropertyGrid drop down items with consistent (non-bold) font (fixes #12088)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-25 15:32:43 +00:00
Jaakko Salli
ace9bc2697 Always call OnSetValue() for a property when values are being set for its children (fixes #12085)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-24 13:09:36 +00:00
Robert Roebling
bb93b4a819 non-PCH compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-23 18:44:24 +00:00
Paul Cornett
f84bc35707 compile fix for GTK2 systems which have X11/extensions/xf86vmode.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-23 16:31:33 +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
bfd62c8c2a Use GTK+ functions for wxDisplay implementation.
There is no need to use Xinerama for what GDK can do itself (see #11053).

Also don't check for Xinerama in configure when using wxGTK2.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 15:48:59 +00:00
Vadim Zeitlin
e196db7b85 Restore selection on click in row/column selection mode in wxGrid.
This might be less consistent with the other selection modes but seems to be
more convenient in practice, so restore the old, 2.8 behaviour and select the
entire row/column on a simply click in row/column selection mode.

Closes #12062.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 15:43:00 +00:00
Vadim Zeitlin
f27d62bf2f Modify wxBoxSizer minimal size calculations to respect the proportions.
Make wxBoxSizer minimal size big enough to not only give each item enough
space to satisfy its minimal size but also to respect the proportions among
the items by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 14:57:34 +00:00
Vadim Zeitlin
b534aeb219 Set wild card in the base class too in wxGTK wxFileDialog.
Calling wxFileDialogBase::SetWildcard() ensures that GetWildcard() returns the
correct value after wxFileDialog::SetWildcard() was called.

The new code will also work correctly if we change SetWildcard() to handle
empty wildcard as the default one (see #12079).

Closes #12080.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 12:07:54 +00:00
Vadim Zeitlin
ade4ae2c51 Unset the debug report preview dialog as critical window when it's hidden.
Otherwise no events can be dispatched to any other window after
wxDebugReportPreviewStd::Show() is called, resulting in apparent hanging of
the application as can be seen in debugrpt sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 10:51:27 +00:00
Robert Roebling
65887bd0f1 Second try to get wxDataViewChoiceByIndex and its name right, hopefully fixes #11970: wxDataViewChoiceRenderer set/get methods should use the current selection
index not a string

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 20:13:49 +00:00
Vadim Zeitlin
b5e97a17b1 Erase the column label background in wxGrid to avoid display artefacts.
Apparently the column label text is not always drawn correctly when double
buffering is used, so erase the background completely before drawing the text.

Unfortunately this might result in flicker but presumably correct display is
more important.

Closes #12055.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 13:17:30 +00:00
Vadim Zeitlin
417b8fcc49 Use ListView_CancelEditLabel() to implement wxListCtrl::EndEditLabel().
Windows XP and later finally added a special message to cancel label editing,
use it if available.

Also improve the documentation of this method.

See #7663.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 13:17:25 +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
52212bcb4a Yet another fix to event propagation in scrolled windows.
Calling ProcessEventLocally() didn't work because the command events were not
propagated to the parent window any more, breaking a lot of things including
wxDataViewCtrl event generation in the generic version. So do restore
ProcessEvent() call but use it on the next handler (i.e. the window itself)
and not this one now. This still results in some duplicate calls but at least
the events should be passed everywhere where they are expected to arrive.

wxScrollHelperEvtHandler must die.

Closes #12078.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 12:07:45 +00:00
Vadim Zeitlin
74035a191b Fix cast from pointer to int in wxDataViewCtrl.
This fixes compilation in 64 bit.

Closes #12073.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 11:46:13 +00:00