Commit Graph

166 Commits

Author SHA1 Message Date
Vadim Zeitlin
50b8f2ee20 Only select the first radio button if there is one in wxMSW wxRadioBox.
Don't call SetSelection(0) if the radio box is empty.

See #16630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:57:26 +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
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
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
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Vadim Zeitlin
017dc06b50 Use wxString::t_str() in calls to Windows API functions in wxMSW.
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.

Closes #14371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:16:59 +00:00
Vadim Zeitlin
f7dd07f64d No real changes, just use clearer names for wxMSW wxToolTip methods.
Rename wxToolTip::DoAddOtherWindow() to DoAddHWND() as it should be used for
adding any window associated with the tooltip, either the main or an auxiliary
one. And rename wxToolTip::Add() to AddOtherWindow() because it shouldn't be
used for the main window.

See #14184.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 13:55:51 +00:00
Vadim Zeitlin
d9c4ffa893 Fix initial wxRadioBox buttons positions in wxMSW.
We only updated the button positions when the radio box was moved or resized
after being created but didn't do it initially, so a radio box created with
fixed position and size didn't lay out its buttons correctly. Do lay them out
immediately after creating the radio box to fix this.

Closes #13912.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-02 14:26:06 +00:00
Vadim Zeitlin
7ee21e3a3d Fix fatal bug in wxGetWindowFromHWND() for radio buttons.
wxGetWindowFromHWND() could crash if it was called for a HWND of a radio
button which was not created by wxWidgets because it blindly dereferenced the
user data associated with the button expecting it to be a pointer to
wxRadioBox and crashed if it was something different. And this actually
happened when using the standard Windows printing dialog which can contain
radio buttons which obviously used their user data field for their own
purposes.

Fix this by maintaining a global hash map with radio buttons HWNDs as keys and
radio boxes as values. This ensures that we can always safely check whether
the given HWND is a radio button in one of our radio boxes or not.

Also change wxSpinCtrl which already did something similar in a different way
(using an array instead or a more efficient hash map) for consistency.

Closes #12083.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:39 +00:00
Václav Slavík
0826c4d39a Fix Tab navigation when focused control is disabled.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-01 10:11:53 +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
3998c74b9b use wxRA_SPECIFY_COLS/ROWS instead of old, deprecated and confusing wxRA_HORIZONTAL/VERTICAL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-03 22:33:32 +00:00
Vadim Zeitlin
fa3987efdb fixed wxRadioBox positioning to take the client area origin into account; also simplified the code to avoid duplication with the base class version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-11 21:54:34 +00:00
Francesco Montorsi
6418ad5ec8 Add support for wxSTB_ELLIPSIZE_* and for wxSTB_SHOW_TIPS flags under wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-26 13:37:16 +00:00
Vadim Zeitlin
c6212a0cb7 set m_isBeingDeleted to true (only) in SendDestroyEvent(); call it as early as possible during the window destruction to ensure that destroy event handlers can still access the full window object
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 18:33:33 +00:00
Vadim Zeitlin
ad63992e0f ensure that one of wxRA_SPECIFY_{COLS,ROWS} is set in the radiobox style, otherwise layout code doesn't work correctly and this can easily happen if the radiobox is created from an XRC file not specifying its style at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 15:59:13 +00:00
Vadim Zeitlin
dca0f65178 more /Wp64 warning fixes: mostly use UINT_PTR instead of UINT and define our WX[WL]PARAM with __w64 if available to avoid hundreds of warnings when casting LPARAMs to pointers/handles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-28 02:22:52 +00:00
Vadim Zeitlin
345264343a implement wxRadioBox::Reparent(): it didn't reparent the radio buttons (patch 1891030)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-19 02:43:29 +00:00
Vadim Zeitlin
117f566fcc don't use wxSubwindows with a single element to store the dummy radio item, store it in radiobox itself (patch 1866053)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-07 18:46:14 +00:00
Vadim Zeitlin
52ca4ec419 store ids of sub-items directly in wxSubwindows instead of using a parallel data structure (patch 1865577)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-07 01:54:33 +00:00
Vadim Zeitlin
cf2810aa39 use wxWindowIDRef to transparently implement auto-generated ids ref-counting (slightly modified patch 1835458)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-06 14:38:44 +00:00
Vadim Zeitlin
0edeeb6d96 use wxWindow::NewControlId() instead of wxNewId() to avoid clashes with user-defined ids; bug fixes in wxMSW for negative menu and toolbar items ids
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-20 22:58:55 +00:00
Vadim Zeitlin
bf511d579f fixed bug which resulted in generation of spurious EVT_RADIOBOX events when a radiobox button was focused but not selected (patch 1739140)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-04 21:20:32 +00:00
Václav Slavík
e0a050e347 more changes to make wx compile without implicit wxString->char* conversion (for STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 07:44:45 +00:00
Vadim Zeitlin
d96b9cafb8 don't compute (and mainly don't cache) our best size until we have created the radio buttons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 16:37:52 +00:00
Julian Smart
50c8b82054 Invalidate cache because best size was calculated earlier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 16:35:57 +00:00
Vadim Zeitlin
04988ec423 fix crash in wxRadioBox creation due to its DoGetBestSize() now being called from the base class Create(), before m_radioButtons are created
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 12:17:55 +00:00
Robin Dunn
170acdc90e GetBestFittingSize --> GetEffectiveMinSize
SetBestFittingSize --> SetInitialSize
SetBestSize  --> SetInitialSize
SetInitialBestSize --> SetInitialSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 08:50:17 +00:00
Vadim Zeitlin
32cd189dfc use GetLabelText() instead of wxStripMenuCodes() to avoid stripping the part of the string after TAB
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 18:47:39 +00:00
Vadim Zeitlin
dc26eeb36a make it possible to associate context help text with individual radiobox items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-11 21:13:13 +00:00
Włodzimierz Skiba
cc11cc6918 Include wx/radiobox.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-01 20:52:09 +00:00
Vadim Zeitlin
38a5c64e29 removed TTN_NEEDTEXT handlers, we don't use tooltips on demand
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 00:04:26 +00:00
Vadim Zeitlin
c670c85582 added Get/SetItemToolTip() (and implemented them for MSW) to allow setting tooltips for the individual radiobox items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-04 16:08:56 +00:00
Vadim Zeitlin
aa61d35253 replaced all int/size_t indices in wxControlWithItems API with unsigned int (committing on behalf of ABX)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-23 22:05:23 +00:00
Włodzimierz Skiba
8228b8932a Line-up interfaces to use size_t for GetCount()s (and count related api).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-14 19:44:45 +00:00
Julian Smart
9f8130d6b3 Must strip menu codes from labels before measuring (fixes bug 1400552)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-18 16:16:36 +00:00
Jamie Gadd
99c613c5c4 Make radiobuttons siblings instead of children in radioboxes again and remove refresh hack. Fixes bug #1387591.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-02 11:03:28 +00:00
Vadim Zeitlin
f2be55804a corrected wxCHECK messages
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-03 12:47:55 +00:00
Vadim Zeitlin
f3984afa30 Set major dim after the items have been created
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-30 16:33:43 +00:00
Vadim Zeitlin
21e0a4d5f1 1. moved m_majorDim duplicated in many ports to wxRadioBoxBase
2. also implement Getcolumn/RowCount() in it now and document them
3. removed various remains of old (pre-wxRadioBoxBase) cruft

sorry in advance for any compilation breakage on the platforms I can't test on


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-30 16:28:15 +00:00
Vadim Zeitlin
455c8f1d55 don't clip out hidden radiobox buttons: otherwise they're displayed incorrectly when themes are in use
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-29 22:10:04 +00:00
Vadim Zeitlin
3bfa7be977 added wxRadioBox::IsItemEnabled/Shown() (for MSW only for now, other platforms to come); corrected Enable/Show() return values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-29 19:26:38 +00:00
Włodzimierz Skiba
faa49bfd39 Get/SetTitle only for wxTopLevelWindow (wxMSW part).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-03 16:47:29 +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
Vadim Zeitlin
7d86a2d45c replaced wxMoveWindowDeferred() with wxWindow::DoMoveSibling()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-30 00:01:51 +00:00
Vadim Zeitlin
9705fbe904 moved WM_PRINTCLIENT from wxRadioBox to wxStaticBox to allow using it as parent for other controls (modified patch 1188384)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-22 18:29:14 +00:00
Robin Dunn
31582e4e11 Patch #1203934: enable best size caching for MSW widgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-18 02:23:01 +00:00
Włodzimierz Skiba
3d104ec357 VC warning fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-06 06:09:24 +00:00
Julian Smart
55079b432b Removed previous broken fix for deferred positioning bug, and added
fix using sizers, which works better


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-29 18:58:38 +00:00
Julian Smart
177895fbab Switch deferred sizing off for radioboxes because with them, the radio buttons
can be invisible in some circumstances


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-28 21:40:28 +00:00