In For the toolbars in non-top orientation, calling SetToolShortHelp() also
showed the item label even if the toolbar was supposed to show the icons only.
Closes#16669.
This makes wxTextCtrl behave like the native text controls and, in particular,
makes it select its entire text when it gets focus (incidentally, this is also
how it behaves under the other platforms).
Closes#9521.
Partially undo the changes of 8e7262fca7: using
wxLogWarning() was wrong, but using asserts is not really great neither as it
results in crashes, and prevents from using, some samples.
Also at least document that this style is not supported.
See #12419.
Positioning wxComboCtrl and wxTextCtrl or wxComboBox in the same column should
align their left borders, but it didn't because of an extra offset for the
focus ring used for wxComboCtrl only.
We need to either apply this offset to all controls or none of them, so remove
it from this one.
Closes#15017.
Add wxGLAttribsBase, wxGLAttributes and wxGLContextAttrs replacing the old
untyped "int attributes[]".
Don't use global object for creating OpenGL > 3.0 contexts.
Closes#16909.
Explicitly bring the parent to top when hiding a modal dialog, this doesn't
seem to do any harm and it fixes a very annoying regression with bringing the
application frame, and not the dialog parent, if it's different, to the top of
Z-order after dismissing the dialog.
Closes#16204.
Due to a bug fixed in 78145f9162 converting a
font which was both underlined and stricken-through to a user string resulted
in using this space-less version and while the bug is fixed now, still accept
the strings created while it was there on input, it doesn't cost much and
results in a better user experience.
See https://github.com/wxWidgets/wxWidgets/pull/187
Honour user selection for these attributes in the native dialog (although only
simple underline/strikethrough are supported currently, not double ones).
See https://github.com/wxWidgets/wxWidgets/pull/187Closes#17338.
Use the scale factor of the associated DC to create the bitmap of the
appropriate size.
This is similar https://github.com/wxWidgets/wxWidgets/pull/158 but uses
portable API instead of wxOSX-specific code.
See #17302.
For a typical scale factor of 2, there won't be any odd-width lines,
and for any factor greater than 1.0, it won't be doing what was intended,
so just don't do it. See #17375
We reuse the same global dispatcher object (allocated in
wxFDIODispatcher::Get()) for the sockets created in different threads, so it's
perfectly possible for its methods to be called concurrently and this happens
even in our own socket streams unit tests.
Protect against concurrent modification of the select sets and m_maxFD. This
fixes sporadic Travis build failures such as the one at
https://travis-ci.org/wxWidgets/wxWidgets/jobs/110757281 for example and
probably even worse bugs too.
If setting sash position to a value that cannot be satisfied due to
minimum size constraints, wxSplitterWindow would continue endlessly
trying and failing to set it, causing constant CPU use on OS X. This was
because delayed sash setting was invoked from idle handler and if it
failed, the code would repeat the same action again and again.
Instead, perform this delayed setting from OnSize handler. If setting
sash position failed in the first place, it must have been due to too
small size of the window. Therefore it's pointless to try again until
the size changes.
An old check - used for reasons that no longer apply - was preventing
correct rendering of wxToolBar background in wxMSW. Fix this by removing
the obsolete check.
See #9666 for the original reason for the check.
This file was mistakenly removed from the list of wxOSX headers in
602ea92143.
And don't install wx/osx/core/stdpaths.h which doesn't exist any longer (see
abe10b8c00).
Closes#17381.
Ensure that the correct parent is used when no parent is explicitly specified
by calling GetParentForModalDialog().
This generalizes baff0c942b (see #17384) to the
rest of the modal dialogs (wxMessageDialog already did this).
Closes#17146.
Don't optimize the required length as this is a tiny gain resulting in big
problems with the strings containing surrogates for which the actual result is
shorter than the length returned, resulting in extra NUL bytes at the end of
the converted buffer.
This is similar to 3410aa372f (see #16298) but
for UTF-32 and not UTF-16.
Closes#17070.
Use the same GetParentForModalDialog() method as for the normal dialogs to
find the parent to use for this native dialog and ensure that it is shown
modally even if no parent is explicitly specified when constructing it.
Closes#17384.
Use wxConvWhateverWorks when converting the command line given as a string to
individual arguments: we already used wxSafeConvertWX2MB() when converting the
arguments specified as an array, but not here.
Closes#16206.
These functions were almost but not quite identical to it:
wxSafeConvertMB2WX() tried the current locale encoding before UTF-8 while
wxConvWhateverWorks tries UTF-8 first and then the current locale encoding.
The latter behaviour is more correct as valid UTF-8 could be misinterpreted as
some legacy multibyte encoding otherwise, so get rid of this difference and
just forward these functions to wxConvWhateverWorks.
This ensures that we can create output files with Unicode names even when
they're not representable in the current locale encoding, notably when the
current locale has never been changed and is still the default "C" one, not
supporting anything else other than 7 bit ASCII.
Credits for the new class name go to Woody Allen.
Fall back to UTF-8 rather than not outputting anything at all if the string is
not representable in the current locale encoding.
Even if we did try to handle this error by setting failbit, chances of anybody
checking for it (especially on e.g. std::cout) were very low and the only
possible workaround in practice would have been attempting to output the
string in UTF-8 anyhow, so just do it ourselves.
See #17358.
Ensure that we do output the string contents even if we have to encode it in
UTF-8 instead of the current locale encoding -- this is still better than not
outputting anything at all.
Closes#17358.