Commit Graph

83 Commits

Author SHA1 Message Date
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Vadim Zeitlin
ec07635801 Don't recurse upwards when updating pending focus in wxMSW
This is unnecessary, we only need to update the pending focus in the
immediate parent window to prevent a wrong radio button from being
focused (and hence selected) when it regains focus, there is no good
reason at all to interfere with the focus in the grandparent (and
higher) windows.

Doing this was not only useless, but actually harmful, as it overrode
explicit calls to SetFocus() in the user code, so just stop doing it.
This also allows to avoid having 2 functions related to this and keep
just a single virtual WXSetPendingFocus() one.

Closes #18653.
2020-01-20 13:16:41 +01:00
Maarten Bent
fa2242a0a6 Reset static sizes when DPI changes 2019-09-06 20:59:59 +02:00
Vadim Zeitlin
23ddf26571 Fix bug with wxRadioButton state changing unexpectedly in wxMSW
In wxMSW, a focused wxRadioButton is always checked, which meant that
checking a wxRadioButton while focus was not in the window containing it
and later giving the focus to that window could uncheck it by giving
focus to another wxRadioButton that had had it previously.

Fix this by adding WXSetPendingFocus() to wxMSW wxWindow and calling it
from wxRadioButton::SetValue() to ensure that when the focus is
regained, it goes to the newly checked radio button and not some other
one.

This replaces the previously used, for the same purpose, wxMSW-specific
wxTopLevelWindow::SetLastFocus(), so while this solution is not exactly
pretty, it's not worse than we had before, while being more generic.

Also add a unit test checking that things work correctly in the scenario
described above.

Closes https://github.com/wxWidgets/wxWidgets/pull/1257

Closes #18341.
2019-03-18 18:29:19 +01:00
Cătălin Răceanu
a207862210 SetValue() on 'single' radio button must not reset others
Radio buttons with wxRB_SINGLE style are not set initially. When
getting set, the code attempts to unset other radio buttons that do not
have wxRB_GROUP | wxRB_SINGLE style.

Closes https://github.com/wxWidgets/wxWidgets/pull/1099
2018-12-24 16:14:49 +01:00
Vadim Zeitlin
25c9b032a8 Don't call CacheBestSize() from DoGetBestSize() implementations
This is unnecessary, wxWindow::GetBestSize() already does this, so calling it
from DoGetBestSize() called by it too is just useless.
2016-04-03 18:04:26 +02:00
Tobias Taschner
8282c1be0f Remove Windows CE support
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.

The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.

Closes https://github.com/wxWidgets/wxWidgets/pull/81
2015-09-23 00:52:30 +02:00
Vadim Zeitlin
e532b3f234 Fix harmless warning about using wxCONTROL_CHECKED in ternary operator.
Add wxCONTROL_NONE which is just a symbolic name for 0 and use it in the code
to avoid g++ 4.8 warnings about mixing enum and int in conditional expression.

Closes #16242.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-08 14:43:27 +00:00
Vadim Zeitlin
29ff6f3e3b Fix resetting owner drawn radio buttons to normal state.
Ensure that we bring the native button in sync with the real state of the
radio button when we switch to normal state.

Also avoid using BM_GETCHECK for the owner drawn buttons as we don't use
BM_SETCHECK for them (as it's useless).

See #10137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:13:39 +00:00
Vadim Zeitlin
cc73050b73 Factor out common owner drawn code from wx{Check,Radio}Box.
Create wxMSWOwnerDrawnButton class which contains all of this code.

Currently the methods of this class are (still) implemented in
src/msw/control.cpp.

See #10137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:13:28 +00:00
Vadim Zeitlin
fd65d4b4f5 Implement setting foreground colour for wxRadioButton in wxMSW.
Native radio buttons don't support changing their foreground colour, so use
owner drawn buttons if SetForegroundColour() was called, similarly to what was
already done for wxCheckBox.

Closes #10137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:13:12 +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
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
687823a157 Respect styles translated to WS_EX_XXX in wxMSW wxCheckBox and wxRadioButton.
Take into account the window styles that translate to extended Windows styles
at MSW level.

Also override MSWGetStyle() in these classes, just as in most (all?) other
ones, for consistency instead of doing wx-to-MSW styles translation directly
in Create().

Notice that as a side effect of this change, border styles now work for
wxCheckBox which wasn't the case before. It's not clear if this is really
wanted but OTOH there doesn't seem to be any real reason to forbid them
neither.

Closes #14674.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-23 22:47:52 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31: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
cb738de03a don't use BS_AUTORADIOBUTTON at all, BS_RADIOBUTTON works just as well and doesn't hang the application in some circumstances (see #9786)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 23:19:34 +00:00
Vadim Zeitlin
6b81a8eabe compilation fix for PCH-less build after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-01 16:09:44 +00:00
Vadim Zeitlin
48fbe8ee0c change not only the focus but also last remembered TLW focus in SetValue() to avoid focus being reset to the wrong radio button when TLW regains activation (#9676)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-01 15:49:44 +00:00
Vadim Zeitlin
7eee360775 correct radio button best size calculation under CE (was too small by 1 pixel vertically) (modified patch 1891008)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-25 02:21:18 +00:00
Vadim Zeitlin
bec08b3946 allow wxRB_GROUP to be changed after creation (patch 1544686)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-10 23:08:13 +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
Włodzimierz Skiba
b0b5881aea Include wx/radiobut.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-05 16:46:15 +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
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
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
Vadim Zeitlin
f469584d64 fix for SetValue() losing effect after focus change (patch 1150911)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-24 16:58:14 +00:00
Kevin Hock
687706f5e7 Use event modifiers and accessors rather than m_ variables directly, which are now protected rather than public with 2.4 compatibility disabled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-18 15:08:15 +00:00
Julian Smart
c5b3143a47 wxRadioButtons in the same group no longer have to be consecutive
(there may be intervening controls). Without this fix, an out-of-sync
assert is generated when clicking on a radio button and then calling
GetValue().


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-18 20:20:47 +00:00
Włodzimierz Skiba
4d08943ee4 Source cleaning: -1/wxID_ANY/wxDefaultCoord, !!/!IsEmpty(), TRUE/true, FALSE/false, whitespaces, tabs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-03 18:32:56 +00:00
Vadim Zeitlin
93212feea0 use BS_RIGHT for right-aligned controls (patch 945460)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-25 12:27:23 +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
Vadim Zeitlin
af498247c5 make XTI compile with VC6 (patch 896614)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-15 22:51:57 +00:00
Vadim Zeitlin
3a5bcc4db0 removed Win16 code (patch 905241), last version with remains of Win16 support tagged with BEFORE_WIN16_REMOVAL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-03-28 13:10:14 +00:00
Julian Smart
6463b9f539 Reverted patch [ 832096 ] Final separation for GUI and console for Open Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-15 13:49:22 +00:00
Julian Smart
1169a91932 Applied patch [ 832096 ] Final separation for GUI and console for Open Watcom
(Watcom compiler doesn't like ctor implementation in headers)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-11 15:33:01 +00:00
Vadim Zeitlin
cb0afb2662 replaced wxNO_FULL_REPAINT_ON_RESIZE with wxFULL_REPAINT_ON_RESIZE in XTI declarations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-24 00:41:06 +00:00
Vadim Zeitlin
f607434a0f check the radio buttons when they get focus (closes 777500)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-21 15:09:13 +00:00
Stefan Csomor
3ff066a4ec macro naming changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-04 01:19:40 +00:00
Stefan Csomor
ffca575c83 WX_EVENT_PROPERTY instead of WX_DELEGATE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-27 18:42:14 +00:00
Stefan Csomor
e70b4f1095 unicode adaptions, menu support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-25 23:33:36 +00:00
Julian Smart
bc9fb5723a Added some window style metadata
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-24 11:35:44 +00:00
Stefan Csomor
067e9be685 xti property extensions, style bits additions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-23 00:41:33 +00:00
Stefan Csomor
8b7ac60523 switching to wxEmptyString to satisfy linker after wxxVariant constructor change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23033 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-19 19:45:52 +00:00
Stefan Csomor
f0a126fe7a switching back to normal accessors, workaround not needed anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-19 16:44:01 +00:00
Stefan Csomor
6a89f9ee42 RTTI simplifications
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-18 09:59:18 +00:00
Stefan Csomor
5174130757 rtti informations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-14 18:05:30 +00:00
Václav Slavík
14f355c2b5 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
Stefan Csomor
066f1b7a95 xti extensions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-05 17:30:46 +00:00