Commit Graph

55 Commits

Author SHA1 Message Date
Paul Cornett
8b4ae731d3 use wxOVERRIDE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-30 00:02:23 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
1b7c3d909a Compilation fix for PCH-less build after r74586.
Don't use wxWindow methods in wx/container.h, move AcceptsFocus()
implementation to containr.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 13:18:30 +00:00
Vadim Zeitlin
bd6ca54f63 Fix tab navigation bug with radio boxes without enabled items.
There was a bug similar to the one in the preceding commit with radio boxes
under wxMSW too: if all radio box buttons were disabled (or hidden, although
this should be much more rare in practice, unlike the disabled case which was
deemed to be rare in r74583 commit message but turned out to actually happen),
the radio box still pretended to accept focus but didn't really do it.

Fix this by allowing to override wxWindow::CanBeFocused() and do it in
wxRadioBox to check whether we have any enabled visible items.

Also add a check for CanBeFocused() to wxControlContainer code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 12:44:33 +00:00
Vadim Zeitlin
dee22e3198 Fix tab navigation bug with static boxes without enabled children.
wxControlContainer::AcceptsFocusFromKeyboard() returned true even if the
control didn't have any currently enabled -- and hence accepting focus --
children. This resulted in strange wxEVT_NAVIGATION_KEY propagation as it
unexpectedly wasn't handled in the control which pretended to accept focus and
instead bubbled up back into the parent, resulting in the focus returning to
the first child of the parent instead of skipping the static box with disabled
children and going to the next enabled child.

Fix this by checking that we have children that can be focused right now and
not only children that are focusable. Notice that this doesn't take care of
calling wxWindow::SetCanFocus() correctly when the children enabled/disabled
state changes so there might still be other problems, notably under wxGTK
where SetCanFocus() does something non-trivial, but it at least improves
things under wxMSW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 12:44:29 +00:00
Vadim Zeitlin
043ad13ffe Fix tab navigation into radio boxes in wxMSW.
Radio boxes refused to take focus from keyboard as their
wxControlContainer::AcceptsFocusFromKeyboard() always returned false because
the base wxStaticBox class disabled setting the focus to the control itself
and wxRadioBox doesn't have any children at wx level in wxMSW.

Fix this by reenabling "self focus" in wxRadioBox to make it possible to
accept focus from keyboard. This is not ideal as it doesn't take into account
e.g. radio boxes without any items or with all items disabled or hidden, but
this should be rare and would require virtualizing all children access at
wxControlContainer level, i.e. would be quite non-trivial so don't do this for
now as this, at least, fixes the navigation in common/normal case.

Also remove the unnecessary AcceptsFocus() override from wxRadioBox as this is
now done at wxControlContainer level.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 00:43:33 +00:00
Vadim Zeitlin
2c750daecd No real changes, just refactor wxControlContainer code a little.
Extract the call to wxWindow::SetCanFocus() into a separate
UpdateParentCanFocus() function as it can be necessary to do it from places
other than UpdateCanFocusChildren() too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 00:43:29 +00:00
Vadim Zeitlin
861bdae474 Set wxTAB_TRAVERSAL for wxNavigationEnabled<> windows with focusable children.
We need to have this flag under wxMSW in order for navigation events to be
generated for the window. As wxNavigationEnabled can't set this flag on
creation because its ctor is called too early, do it in overridden AddChild().

Closes #13271.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-13 22:52:12 +00:00
Vadim Zeitlin
e68b7b364a Allow using windows that can't be focused with wxNavigationEnabled<>.
The code in wxNavigationEnabled<> assumed that the window itself could be
focused if it didn't have any focusable children because it was originally
extracted from wxPanel that can, indeed, be focused. This is however not the
case for all windows, notably not for wxStaticBox which now derives from
wxNavigationEnabled as well but can never be focused itself.

Add wxControlContainer::DisableSelfFocus() and call it from wxStaticBox to
support this situation. This required splitting m_acceptsFocus flag into
m_acceptsFocusSelf and m_acceptsFocusChildren and updating various methods
using them.

See #13271.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-13 22:51:50 +00:00
Vadim Zeitlin
8f0271018e Remove unused wxNavigationEnabled::AcceptFocus() method.
This doesn't seem to be ever called or used from anywhere else.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-13 22:51:04 +00:00
Stefan Csomor
87381108c8 we have to export every virtual method in this template class for clang, next attempt to get a vc++ compatible solution
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 09:42:51 +00:00
Vadim Zeitlin
865dab5da9 Revert the addition of WXDLLIMPEXP_CORE to all wxNavigationEnabled methods.
This reverts commit r70787 as it broke DLL build with MSVC.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:43:19 +00:00
Stefan Csomor
778df99f55 we have to export every virtual method in this template class for clang
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-03 17:30:32 +00:00
Paul Cornett
7bc57fd972 fix tests for WXWIN_COMPATIBILITY_2_8, closes #13800
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-23 05:59:59 +00:00
Václav Slavík
31af22fa2d Allow using wxCompositeWindow<T> as wxDataViewCtrl inline editor.
wxDVC inline editing code attaches some event handlers to the editor
control; most importantly, it watches for Enter key and for focus
changes. If the editor control is a composite window, these events occur
in a sub control and never reach wxDVC code.

Fix this by forwarding events to the main window of the composite
control. Only events required by wxDVC are implemented for now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:20:01 +00:00
Vadim Zeitlin
9f1bf94013 Compilation fix: include wx/event.h from wx/containr.h.
We now need wxEVT_XXX constants declarations in this file (at least when not
wxHAS_NATIVE_TAB_TRAVERSAL) so include wx/event.h to fix PCH-less build of
wxOSX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-26 11:31:21 +00:00
Dimitri Schoolwerth
1f6831ea9b Fixed containr.h compilation with gcc.
At least apple-gcc 4.0 and 4.2 gave a compilation error on the three Connect calls in containr.h, insisting (unless using -fpermissive) on a declaration of Connect because there are no arguments to it that depend on a template parameter. Fixed by prepending BaseWindowClass to the Connect calls. Regression since r68363.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-25 22:31:17 +00:00
Vadim Zeitlin
4d98817cfa Add wxNavigationEnabled<> helper for implementing TAB navigation.
Provide a clean, public and documented way to implement proper TAB navigation
for subwindows of a composite control: instead of using various ugly and never
documented WX_XXX_CONTROL_CONTAINER macros it is now enough to simply inherit
from wxNavigationEnabled<BaseClass> to do it.

No real changes in the code as the new class is not used anywhere yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:20 +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
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
Francesco Montorsi
53a2db124c substitute WXDLLEXPORT with WXDLLIMPEXP_CORE and WXDLLEXPORT_DATA with WXDLLIMPEXP_DATA_CORE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-26 15:06:00 +00:00
Vadim Zeitlin
21bf81db6f revert r51647 change as it broke the code overriding AcceptsFocusFromKeyboard() to prevent the user from tabbing into a window; simply override it at wxControlContainer too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-24 13:58:38 +00:00
Václav Slavík
57c5c10fb3 skip wxChildFocusEvent in WX_DELEGATE_TO_CONTROL_CONTAINER, so that other code can see the notification too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-20 18:30:38 +00:00
Robert Roebling
00ff24c81c Always make wxWindow::SetFocus() focus the window, overriding SetCanFocus, some more focus related docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-17 10:17:12 +00:00
Robert Roebling
7cec1c9e15 Implement wxWindow::SetFocusIgnoringChildren for GTK+
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-15 22:06:22 +00:00
Julian Smart
1c1ad00573 Compile fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-18 11:34:16 +00:00
Julian Smart
c7bfb76a2c A number of focus handling improvements:
Left clicking on a window only focuses the window if not processed.
wxControlContainer::SetFocus moved to wxControlContainerBase so that a container now focuses the first child even on wxGTK.
wxAuiBook is now a container, need for correct navigation on wxGTK.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-18 10:54:31 +00:00
Václav Slavík
b5dbe15d0b added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Vadim Zeitlin
edc0987174 CanAcceptFocus() now returns true if either the window itself or one of its children accepts focus; added new IsFocusable() to test whether the window itself accepts focus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 12:04:06 +00:00
Vadim Zeitlin
d1cd787b75 more compilation and linking fixes for !wxHAS_NATIVE_TAB_TRAVERSAL after recent changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-06 19:16:07 +00:00
Vadim Zeitlin
bf0e8244d9 compilation fixes for generic TAB navigation after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 22:32:35 +00:00
Vadim Zeitlin
80332672ab make wxControlContainer accept focus depending on whether it has any focusable children when using native TAB navigation too but also allow to manually override this automatic detection; added wxWindow::SetCanFocus() to notify GTK+ about changed focus state
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 22:29:14 +00:00
Vadim Zeitlin
617fb24fc9 define wxHAS_NATIVE_TAB_TRAVERSAL in wx/features.h; include wx/defs.h from wx/containr.h to get this definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 02:07:49 +00:00
Vadim Zeitlin
b5a4975771 removed wxHAS_NATIVE_TAB_TRAVERSAL which is now defined in wx/window.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 23:40:40 +00:00
Vadim Zeitlin
28e88942bc use native TAB traversal for GTK+ 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 19:30:20 +00:00
Vadim Zeitlin
de160b0647 don't use wxControlContainer if wxHAS_NATIVE_TAB_TRAVERSAL is defined (currently it never is)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 22:41:11 +00:00
Vadim Zeitlin
6c20e8f816 move default button handling code from wxControlContainer to wxTLW (patch 1524441)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 01:31:13 +00:00
Vadim Zeitlin
789367e10d unset the button as temporary default item when it's destroyed (closes bug 1354875)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-16 19:50:48 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Robert Roebling
ababa106ae Add SetFocusIgnoringChildren() to wxControlContainer. This
makes corresponding hacks in wxListCtrl and wxTreeCtrl
    obsolete. With docs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-11 12:51:05 +00:00
Włodzimierz Skiba
68379eaf0a Source cleaning: whitespaces, tabs, TRUE/true, FALSE/false, -1/wxID_ANY/wxDefaultCoord, !!/!IsEmpty().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-10 12:56:07 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Julian Smart
b33f7651ae Don't infinitely recurse when setting the child focus. Without
this, nested panels/scrolled windows that work fine on wxGTK, wxMSW
can cause infinite recursion on wxMac


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-19 14:41:06 +00:00
Václav Slavík
1202890513 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:38:21 +00:00
Vadim Zeitlin
3251b83466 containers don't always accept focus (patch 718913)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 13:48:27 +00:00
Gilles Depeyrot
af49c4b8a2 disable use of #pragma interface under Mac OS X
GNU compiler included with Mac OS X 10.2 (Jaguar) as well as August Developer
Tools update contain a bug concerning #pragma interface handling that can only
be worked around by not using them (and they are not necessary anyways)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-08-31 11:29:13 +00:00
Vadim Zeitlin
036da5e374 changed the handling of the default buttons to be more logical
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-05-11 22:31:05 +00:00
Gilles Depeyrot
be52b34172 added DECLARE_NO_COPY_CLASS where appropriate since wxObject should not
provide implicit copy constructor or assignement (will be corrected)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-05-08 13:30:26 +00:00
Vadim Zeitlin
9948d31f4e changed wxControlContainer to avoid triggering tons of warnings from VC++ at
warning level 4 ("'this' : used in base member initializer list" is really
the stupidiest warning I've ever seen)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-08-06 22:50:28 +00:00