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
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
ce45133ee7
Fix wxScrollHelperEvtHandler broken by recent changes to event processing.
...
Use ProcessEventLocally() added in r64261 (which was probably the one to break
this) to forward event to the window itself instead of ProcessEvent() in
wxScrollHelperEvtHandler::ProcessEvent() implementation. Calling ProcessEvent()
didn't work any more in a case when another event handler was pushed on a
wxScrolledWindow: in this case the EVT_SIZE and EVT_PAINT handlers defined in
the window itself were not called at all any more.
Add a unit test checking for the even more tortuous than usual event
processing path in this particular case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-20 17:33:26 +00:00
Václav Slavík
d4a58a7ce5
Preserve m_skipped in wx[Var]ScrollHelperEvtHandler::ProcessEvent.
...
If the event was skipped and not processed, its "skipped" status would
be lost.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-28 14:37:30 +00:00
Vadim Zeitlin
e2495f725c
Generate scroll events for key presses in wxScrolledWindow.
...
Don't duplicate the existing wxScrolledWindow::CalcScrollInc() logic in
HandleOnChar(), simply generate scrolling events from it, this simplifies the
code and ensures that it is more correct.
Closes #11070 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-05 17:25:14 +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
Stefan Csomor
2e1517a2e3
updating conditions for OSX
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-10 17:56:19 +00:00
Vadim Zeitlin
b19bcdeb2b
no changes, just use an accessor method instead of using wxMouseEvent member variables directly
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-29 21:43:09 +00:00
Vadim Zeitlin
36e5a9a7c4
fix (harmless) warnings in release mingw32 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-23 21:15:45 +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
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
Vadim Zeitlin
1ddb6d2857
allow passing -1 range to SetScrollbar() to indicate the the scrollbar should be disabled and use this to implement wxSHOW_SB_ALWAYS in the generic wxScrollHelper
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 21:58:05 +00:00
Vadim Zeitlin
29e1398fa0
further untangle generic and native GTK implementations of wxScrollHelper: use the standard wxScrollHelperBase/wxScrollHelper naming convention and move the stuff unused by GTK in the generic implementation
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 16:43:30 +00:00
Vadim Zeitlin
69e9752529
provide generic implementation for ShowScrollbars() too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 16:11:02 +00:00
Vadim Zeitlin
6362d82b3e
add wxScrollHelper::ShowScrollbars() (implemented for GTK only right now, generic implementation coming soon)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 15:58:37 +00:00
Vadim Zeitlin
0b0f6f87d5
add convenient GetViewStart() and Scroll() overloads taking wxPoint instead of 2 int[ pointer]s
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 15:11:00 +00:00
Vadim Zeitlin
888e963843
don't scroll to the child which gets focus if it is already fully visible; more importantly, don't do anything if we can't make it fully visible anyhow (fixes bug in the comment 13 of #9563 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 14:46:09 +00:00
Vadim Zeitlin
69367c566e
move the grid-specific workaround for scrollbar hysteresis to wxScrollHelper itself, the scrollbars now should not only appear but also disappear correctly during resizing
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 22:44:08 +00:00
Julian Smart
380e1c0ccc
Fixed scrolling bug where scrollbar was taken to be a valid child window
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-07 15:59:46 +00:00
Robin Dunn
3ec704b422
Applied patch from Ticket #9563 . Use just the rectangle of the widget with the focus when deciding if scrolling is needed, instead of the rect of the parent of the widget/child of the target window. This fixes some flickering when a panel of widgets is used inside the scrolled window, and also a total lack of scrolling if the focused widget is out of view but the upper-left corner of the panel is in view.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-09 01:37:32 +00:00
Václav Slavík
f2a6c918e8
compilation fix for wxMSW and r52961
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-01 15:40:49 +00:00
Václav Slavík
16361ec941
Generalized wxScrolledWindow into wxScrolled<T> that can derive from
...
anything (typically wxPanel or wxWindow). Fixed generic wxListCtrl to
use wxScrolled<wxWindow> - this fixes focus problems with label-editing
text control. Fixes to wxScrolledWindow doxygen docs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-01 15:07:03 +00:00
Vadim Zeitlin
455f7c8205
do VMS-specific X symbols redefinitions only once in wx/platform.h instead of doing it in individual files
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-01 20:38:33 +00:00
Robin Dunn
19cf18752e
It is possible for a scrolled window to get focus events from children other than
...
the target window's children (the wxGrid label windows for example) so don't
trigger an assert about it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-28 18:01:13 +00:00
Václav Slavík
7d616e99ed
fixed wxScrolledWindow best size calculation: compute something (this was broken after 2.8) and don't use current size in computation; also removed now-unused ScrollGetWindowSizeForVirtualSize() method to simplify the code
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-21 22:47:55 +00:00
Václav Slavík
02a3389106
wxScrolledWindow can get wxEVT_CHILD_FOCUS event for itself, handle that case too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-20 20:04:46 +00:00
Václav Slavík
06b9c2a22f
when a window inside scrolled window receives focus, make sure the parent is scrolled so that the window with focus is visible
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-19 19:21:52 +00:00
Vadim Zeitlin
74ab5f5b9d
various warning fixes for icc 9.1 compilation
...
- variable shadowing
- unused code and variables
- extra semicolons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-21 12:00:25 +00:00
Vadim Zeitlin
8c36c49496
don't do anything before including the PCH header
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-21 11:53:23 +00:00
Robert Roebling
602e33659e
Let GtkScrolledWindow handle scroll wheel events.
...
Reset visible range in wxListCtrl after scrolling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-03 11:17:40 +00:00
Vadim Zeitlin
30c15c1d73
remove unused static function (avoids a warning about it)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-22 02:02:51 +00:00
Stefan Csomor
9372787028
trying optimal scrolling solution perf-wise
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-02 14:31:30 +00:00
Vadim Zeitlin
2e9c0c010a
don't skip the scroll position validity check in CalcScrollInc() if m_[xy]ScrollPixelsPerLine is NULL, this resulted in problems mentioned in patch 1696082
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-08 23:06:42 +00:00
Vadim Zeitlin
75cbbafdeb
don't add wxVSCROLL if only wxHSCROLL is explicitly specified (and vice versa), only add (both) if no scrolling styles are specified at all
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-15 20:32:36 +00:00
Julian Smart
b9dac1ab88
Don't optimize if there are child windows
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-10 09:40:54 +00:00
Vadim Zeitlin
35c7138631
corrected return value and skipped flag setting in wxScrollHelperEvtHandler::ProcessEvent()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-08 02:26:59 +00:00
Stefan Csomor
6682e732a6
using scroll axis in translation to scrollwin events, avoiding blocking immediate updates when handling the scroll event
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-04 06:26:02 +00:00
Václav Slavík
b97dc9c8bc
more efficient version of the wxUniv scrolling fix: don't call Update() in cases when ScrollWindow() wouldn't be called
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-08 12:20:21 +00:00
Vadim Zeitlin
8ea4569950
update window before changing the scrolling position and really scrolling it to avoid redraw problems in wxUniv
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-06 01:45:03 +00:00
Robert Roebling
807a572ef4
Next round of RTL fixes. This change greatly simplifes
...
the code and makes most #ifdefs redundant.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-16 21:44:21 +00:00
Robert Roebling
f4fe2f2052
Add GetScrollHelper() to wxWindow.
...
Let wxScrollHelper set the underlying field itself.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 22:18:24 +00:00
Robert Roebling
5713b34914
Make wxGTK's wxScrolledWindow set m_x/xScrollLines to 0
...
if scrollbars disappear (instead of 1) as per wxMSW.
Expose m_x/yScrollLines in public getters.
Correct window origin for scrolled window in RTL.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 10:01:21 +00:00
Robert Roebling
4f0eda0e6e
More RTL fixes.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-12 09:48:27 +00:00
Włodzimierz Skiba
ed2fbeb835
Include wx/sizer.h and wx/layout.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-08 06:57:39 +00:00
Włodzimierz Skiba
c0badb709a
Include wx/timer.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-23 11:04:37 +00:00
Włodzimierz Skiba
ed4b0fdca6
Include wx/dcclient.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 21:51:49 +00:00
Włodzimierz Skiba
8e609c8259
Include wx/panel.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-04 18:10:27 +00:00
Włodzimierz Skiba
de6185e212
Include wx/utils.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-02 10:39:23 +00:00
Robin Dunn
5bd24f7242
Make WXK*PRIOR and WXK*NEXT be aliases for WXK*PAGEUP and WXK*PAGEDOWN
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-24 04:14:29 +00:00
Julian Smart
c6b81cebf1
If we processed a command event, return true, or we could end up processing
...
it again.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-13 15:11:14 +00:00