r68230 fixed the width of the value label in this case but not its position:
it was left-aligned instead of being centered as it should be.
See #13291.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxSlider with wxSL_LABELS style but without wxSL_MIN_MAX_LABELS didn't show
the current value because the width of the value label was 0.
Fix this by always computing the widths of min and max labels and using the
longest of them for the value label, even if we don't actually show them.
Closes#13291.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxMSW wxSlider implementation stored the min and max labels widths as fields
of wxSlider object for some reason even though they were only used in one of
its methods (and can be easily computed anyhow).
Make them simple local variables instead and also rename an existing local
variable which started conflicting with their new names.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxMSW used to handle VK_RETURN in the same way as VK_TAB if it wasn't consumed
by the default push button but this didn't correspond to the native platform
behaviour which considers pressing Return when the OK button is disabled an
error and audibly notifies the user about it.
Fix this by passing VK_RETURN to IsDialogMessage() if we don't translate it to
a button click.
Also add a possibility to test what happens when the default (or all)
button(s) in the dialog are disabled to the dialogs sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use GetWindow() instead of GetInvokingWindow() to send the event to the
associated window for the menus that are part of the menu bar and not only the
popup ones. This was broken since r64127 because GetInvokingWindow() is now
only used for the popup menus.
Closes#13317.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Currently these values can only be read from/written to wxTextCtrl but support
for other controls (e.g. wxSpinCtrlDouble for float/double) could be added in
the future.
Closes#13304.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
At least in wxGTK it is necessary to remove the page from the notebook first
as reparenting it doesn't work otherwise currently.
This should ideally be fixed but in the meanwhile at least document it.
See #13305.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
A notebook page removed from its notebook can have a non-NULL wx parent but
not have any parent at GTK level any longer, so test for the window parent at
GTK level before removing the widget from it, otherwise we were getting GTK
asserts when trying to remove a window from its no-more-parent.
See #13305.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Although normally the control header is not supposed to be resized below its
minimal vertical size, sometimes this can still happen and in this case ugly
artefacts were displayed because it wasn't refreshed properly. Do refresh it
to avoid them.
Closes#13313.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Do it for consistency, as the state of all the other buttons is already shown,
and also to have some place for testing this functionality.
Closes#13309.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Running console sample without parameters didn't do anything by default and
didn't output anything neither which was presumably rather confusing. Do
output a welcome message at least to indicate that something happened.
Closes#13299.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The cursor was previously reverted to the default one only when a next mouse
event was received. Do it immediately now to e.g. avoid showing the busy
cursor when the program is not busy any more.
Closes#12961.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The best size calculation was wrong as the min/max labels height was
unnecessarily added to the slier total height even if though these labels are
positioned alongside the slider itself in horizontal layout case.
The slider also managed to position its value label completely outside the
space allocated to it (and the bug in DoGetBestSize() might have been an
attempt to work around this), don't do this any more. This also fixes the
wrongly centered vertical position of the min/max labels.
Closes#13291.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use the maximal device space extent supported by Win32 GDI and only decrease
it if the scale is so small that keeping the device space extent maximal would
result in overflowing the int range for the logical space.
This makes coordinate translations exact even for huge coordinates, while they
could be significantly wrong before due to the integer rounding errors.
Closes#13284.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
There is no reason for this accessor to not be const and it prevents other
methods using it from being const too, so change this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We finally didn't switch to using the standard containers by default so don't
leave misleading information in the change log (this should have been part of
r67735).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxRound() instead of implicit casts to convert double to int. This not
only avoids warnings (e.g. when using g++ with -Wconversion) but also should
be (marginally) more precise.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Work around g++ -Wconversion warning by writing out the casts explicitly.
A better solution would be to have wxLongLong::FromDouble() static function
but it would have to be done after 2.9.2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We don't support creating VT_R4 VARIANTs as wxVariant can only contain double,
not float, but we can still at least accept them on input.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We can't use the column pointer in wxDataViewProgressRenderer ctor as it's not
set yet, so postpone setting the renderer label until later in non-Unicode
build which needs the font used by this column to do the conversion to UTF-8.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxCompositionMode enum had a trailing comma not allowed by C++ 98 (and which
would result in warnings or errors with g++ pedantic switch).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Having an invalid element in wxCompositionMode enum allows to directly return
it from TranslateRasterOp() function instead of needing a separate bool
parameter to indicate that a ROP couldn't be translated.
This also incidentally fixes warnings about possibly uninitialized variables
in optimized g++ builds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The standard TreeView_GetItemRect() macro resulted in warnings about breaking
strict aliasing rules as it passed a variable of one type via a pointer to
another one. Fix this by using a union and our own custom macro instead.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In optimized build g++ warned about the second element of two-element array
passed to encode_utf16() being possibly uninitialized. This wasn't really the
case but change the code just to avoid the warnings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
OS X g++ warned that "control may reach end of non-void function" in
wxRichTextHelpInfo::ShowHelp(). This wasn't really the case but change the
function logic slightly to (hopefully) suppress the warning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The virtual ColourToString() method was hidden and not overridden in the
sample because it didn't use the last argument of the base class method.
Fix this in the most straightforward (albeit not necessarily the most correct)
way to at least ensure that the function is really overridden.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This resulted in (useful) g++ warning and didn't make any sense in any case.
Check for the loop variable value being 0 at the end of the loop instead now.
If the old code was correct it shouldn't change its behaviour and if not, this
might fix a bug.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Leaving m_hgdiobj uninitialized probably didn't result in any problems
considering how this class is currently used but it did result in g++ warnings
about uninitialized member with aggressive warning flags and also could easily
become a problem in the future so just ensure that we always initialize it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775