Specifying e.g. wxBORDER_NONE for wxSpinCtrlDouble should work, i.e.
remove the border from the wxTextCtrl used by it internally in the
generic version, so add wxBORDER_MASK to the list of styles respected by
this wxTextCtrl.
Closes https://github.com/wxWidgets/wxWidgets/pull/1864
This partially reverts the changes of a98d8448fa (Fix size of
wxDateTimePickerCtrl after DPI change, 2019-01-13) to still use
DTM_GETIDEALSIZE, even if it returns wrong height value after a DPI
change, because it still computes the best width more precisely than we
do and using our code could result in the date being partially truncated
when using some date formats.
Without the extra margin, part of the thumb was truncated when
wxSL_TICKS was not used, but wxSL_BOTH (which makes the thumb bigger
than without it) was.
Under wxOSX the order of calls to wxItemContainer::Clear()
and wxTextEntry::Clear() matters.
Number of data objects to delete in wxItemContainer::Clear()
is obtained by call to wxComboBox::Count(). Counter of items
in wxComboBox is reset by wxTextEntry()::Clear()
so this method has to be called after wxItemContainer::Clear().
Closes#18768.
Gnome seems to use it as a fallback display name with X11. By default, it will
be the capitalized program name, which is what GTK would set it to anyway.
We cannot use GetSizeFromText() to calculate
numeric box size under wxOSX because this function
calls GetSizeFromTextSize() which is implemented
only in wxMSW and wxGTK.
Currently, DeletePage() and RemovePage() functions don't send any events
when deleting the last page of the control and while this is
inconsistent with the behaviour when deleting the other pages, it seems
too dangerous to change this now, as the existing application code might
not expect getting page change events with the invalid page index.
So just document the current behaviour.
Ideal would be to add a unit test checking that this is really the case
under all platforms, for now it was just checked manually under MSW and
GTK.
Closes https://github.com/wxWidgets/wxWidgets/pull/1848
Every time spin control precision, minimal or maximal value changes there
is necessary to adjust numeric box size to the new dimension of displayed
number.
See #18734.
The existing wxwidgets.props wasn't particularly useful as it couldn't
be used with with wx DLLs when the user project configuration were not
called "DLL Debug" or "DLL Release" (and it makes little sense for the
user application to use "DLL" in its configuration names just because it
happens to use wx as DLL, of course).
It also couldn't be used with the libraries built using nmake with a
custom COMPILER_PREFIX, which, significantly, includes the official MSW
binaries.
Try to fix both problems by checking for the actually existing libraries
and using whichever ones we find. This is somewhat surprising for a
project file to do, but it seems like it should result in the most
useful behaviour in practice as it allows user projects importing this
file to work out of the box in all of the following situations:
- Using official wxMSW binaries.
- Building wxMSW from source without any customization.
- Building wxMSW from source using reasonable custom compiler prefix.
For native wxGTK implementation default spin control precision is derived
from the precision of the increment value. Fot the sake of consistency the
same should be done in the generic implementation.
Closes#18764.
Rename all library targets to start with wx. This way it does not use generic
names like base or core that could interfere with other libraries that add
include the wxWidgets project.
Build the cotire test project and check if it succeeds. Also check if the
'had text segment at different address' warning does not appear in the build
output. If it does not succeed, disable usage of precompiled headers.
If the PCH option was changed, clean the project and rebuild it again. Do not
clean everytime the project is configured because (re)building the cotire test
project takes some time.
Add wxXSync class which adds delays between the synthesized events
sufficient for them to be processed by the higher layers (X, GTK).
This makes it possible to run the UI tests by default with wxGTK.
Closes https://github.com/wxWidgets/wxWidgets/pull/1845
Define it in wx/defs.h directly instead of conditionally including
wx/windowid.h from there just in order to get this type definition.
This has several advantages:
- wxWindowIDRef is not defined in (maybe) non-GUI code including
wx/defs.h, as it should be the case for this class defined in
core library only.
- wx/windowid.h becomes a normal header, including wx/defs.h as
(almost) all the other ones instead of being exceptional.
- wx/windowid.h doesn't need to be included by wx/utils.h at all
just to get wxWindowID definition.
Closes https://github.com/wxWidgets/wxWidgets/pull/1850
Remove separate checks for dlerror() which don't seem to be needed under
any platform any longer.
No real changes, just slim down configure/CMake a tiny bit.
This function is not used any more since e289eb07e1 (Get rid of
non-POSIX code for loading dynlibs on *nix, 2020-05-13), so don't check
for it and don't defined the corresponding HAVE_SHL_LOAD symbol.
The alternative, (non-POSIX) shl_xxx() API is/was apparently available on
HP-UX, but even there the POSIX dlxxx() functions have been the preferred
way to load libraries since the past ~20 years.
Reduces the amount of #ifdefs scattered all over the code, thereby
simplifying the code.
The function was renamed from Error() to ReportError() to emphasize what
its purpose is.
Error messages logged on *nix are now a bit more verbose, as they are
prefixed with our own description text, which were earlier omitted on
platforms using the dlxxx() API.