Do not invoke a renderer's PrepareForItem when estimating best column
width in generic wxDVC for items with no value because PrepareForItem
fails for items with no value when the null variant cannot be converted
to the expected type.
Closes https://github.com/wxWidgets/wxWidgets/pull/2149
Double clicking on empty space under the items in wxDataViewCtrl still
results in actionDoubleClick: being called, even though there is no
valid item under the mouse.
Just ignore such notifications, as we're not supposed to generate any
events in this case (neither GTK nor generic version do it) and calling
itemAtRow: with invalid row results in errors due to invalid index use.
Closes https://github.com/wxWidgets/wxWidgets/pull/2142Closes#18984.
If HBITMAP represents 32-bit bitmap we need to check if this is a bitmap with transparency (ARGB) or maybe RGB only (0RBG) and set alpha flag accordingly.
Closes#18798.
This style doesn't make any sense here, but using it is confusing
because it has the same value as wxCANCEL and is interpreted as it,
rather than as expected by users.
We can't do much about this, but at least document that this flag
doesn't work to prevent people from wasting time trying to use it.
Since Apple clang version 12 implicit function declarations by default
are (rightfully) an error resulting in failure to compile the configure
tests for libpng and zlib, which make implicit use of exit.
Fix by using return statements (another solution is including stdlib.h).
Slightly improve the maximum column width calculator by rounding up
the (non-integer) width of cells using ceil() instead of adding 1
unconditionally.
See #19003.
Adjust autosizing columns of wxDataViewCtrl when items are expanded
or collapsed through the UI as well.
Complements commit e89e76bb82.
See #14939.
See #19003.
Refactor common code and also for upcoming accessibility from
wxCocoaOutlineView.
Part of #19003.
Co-Authored-By: Dimitri Schoolwerth <dimitri@schoolwerth.com>
This provides the same information as wxGetCpuArchitectureName(), but is
consistent with the other wxPlatformInfo accessors, which also
correspond to the existing wxGetXXX() functions, and makes it more
convenient to use this information in the application code as now
everything is available via wxPlatformInfo instead of having to use
different functions for different pieces.
Calling SystemParametersInfoForDpi() with LOGFONTA parameter corrupted
the stack because this function only accepts LOGFONTW, i.e. it wrote
twice as much data into the provided buffer as the caller expected.
This could be fixed by allocating a temporary wide buffer and converting
back, but this doesn't seem to be worth it, so just disable the use of
the DPI-specific function in the ANSI build.
Closes#19002.
This results in various problems, including both the problems with
handling keyboard input (see #16840) and, even less expectedly,
graphical issues with flickering (see #18462).
Fixing or working around these issues doesn't seem to be easily
possible, but we can at least warn people about the problem.
Closes https://github.com/wxWidgets/wxWidgets/pull/2138
Add the #pragma to link with shlwapi in the same object file which uses
this function, as even though the same pragma was already present in
other files, they could be completely discarded by the linker resulting
in link errors about unresolved StrCmpLogicalW() later.
Also move the MinGW-specific function declaration to the top of the
file, near the inclusion of the header which would normally declare it.
The rect offset was correctly changed in 04a7a3f150 (Fix drawing outside
of the splitter sash under macOS, 2020-12-05), but its size was not. Fix
it too now.
See #18861.
As we don't use any special value for the inactive caption background,
use the same value as for normal caption text for inactive caption text
too.
This is almost certainly not ideal, but at least allows the tab labels
to be readable.
Closes#18988.
This should have been done together with the changes of 41410610ef
(Don't force wxPU_CONTAINS_CONTROLS on wxPopupTransientWindow,
2020-07-10) as without this style controls inside wxComboPopup couldn't
accept focus any more, which broke the previously working code.