Provide GetAttrPtr() and GetCellAttrPtr() convenience functions that can
be used instead of the original Ptr-less versions to avoid the need to
manually call DecRef() on the returned wxGridCellAttr pointers.
No real changes, just simplify the code and make it safer.
Doing it for cells using a different alignment doesn't work correctly
and it's not clear whether it really makes sense, so just don't do it at
all for now.
Closes https://github.com/wxWidgets/wxWidgets/pull/1726
Before drawing the overflowing text we need to redraw the cells it
overflows into to avoid visual artefacts, that could appear even just
due to drawing new text over the same existing text due to
anti-aliasing. E.g. the text in the cell B2 in the grid sample visibly
changed appearance when repeatedly switching the current cell from A1 to
A2 and back again, just due to redrawing A2 contents.
Closes https://github.com/wxWidgets/wxWidgets/pull/1729
Don't store the buttons used by a pane separately, but take them
directly from the flags, as this ensures that updating the pane flags,
e.g. by calling CloseButton(false), really removes the corresponding
button.
This also makes wxAuiPaneButton helper completely unnecessary, so just
remove it to simplify the code.
Closes https://github.com/wxWidgets/wxWidgets/pull/1723Closes#18223.
Instead of specializing wxStrtoxCharType and then testing whether endptr
is null, just define separate, and simpler, overloads of wxStrtox()
functions taking nullptr_t -- we can avoid the unnecessary test
completely in this case, as nullptr is, by definition, always null
anyhow.
Also add a test of using wxStrtol() with nullptr too.
This should fix the build with older gcc and MSVS versions.
A text is cropped for cells with ellipsization enabled when width of the
cell nearly equal to width of the text because wxGrid::DrawTextRectangle
function variant with the parameter of type wxArrayString adds the offset
before actually drawing the text using dc.DrawText or dc.DrawRotatedText.
Honour user-defined CPPFLAGS when creating rcdefs.h, this notably fixes
generating the file with wrong architecture when cross-compiling from 64
to 32 bits with CPPFLAGS=-m32.
Closes#17844.
There are more commonalities than differences between the handling of
these 2 keys and it's better to have a single version of this code.
No changes in behaviour.
We should make visible the cell of the corner of the current selected block.
Also fix names of the wxGrid::UpdateBlockBeingSelected parameters because
actually passed сщщквы are of any opposite selection block corners.
This is necessary because MSVS versions as old as 2010 support it, even
if they don't have full C++11 support and so don't define __cplusplus
appropriately.
Extract the existing check for nullptr from wx/strvararg.h to wx/defs.h
in order to allow reusing it.