Commit Graph

38956 Commits

Author SHA1 Message Date
Vadim Zeitlin
452c8dcfa3 Check that wxPaintDC is created correctly in code using wxMSW
Creating wxPaintDC for a window outside of any wxEVT_PAINT handler
already resulted in assert failures and crash due to using the empty
wxDidCreatePaintDC stack, but the assert message was not really clear,
so improve it by stating explicitly that wxPaintDC can only be created
from wxEVT_PAINT handlers.

Also check that wxPaintDC is being created for the correct window: this
wasn't detected at all before, but could still result in a lot of grief,
so check for this too.

Finally, create a new private header with the paint data stack variable
declaration instead of using "extern" to declare it manually in wxDC
code.
2020-02-10 13:39:08 +01:00
Vadim Zeitlin
f6158bc343 Remove wxHAS_PAINT_DEBUG and code guarded by it
This doesn't seem to actually be doing anything useful, as it only
checks that wxPaintDCImpl is not created without creating wxPaintDC
which is impossible to do accidentally anyhow.

This will be replaced by a more useful check in the next commit.
2020-02-10 13:14:08 +01:00
Artur Wieczorek
5fb7f89b14 Don't use vestor::data() to get access to the raw vector data
This method is available since C++ 11 so it can't be used currently.
2020-02-09 23:12:08 +01:00
Artur Wieczorek
55daa7103e Implement wxD2DGradientStopsHelper as a wxD2DResourceHolder
There is a dedicated template class wxD2DResourceHolder<T> to support
managing backend D2D resources and wxD2DGradientStopsHelper should be
derived from wxD2DResourceHolder<ID2D1GradientStopCollection> for the
sake of consistency with other D2D resource holders.
2020-02-09 20:46:40 +01:00
Artur Wieczorek
0b7f1e7e91 Always show label of unspecified value item while drawing popup menu
The label of "unspecified value" shouldn't be displayed in the edit field
but it should always be shown on the popup menu list.
2020-02-09 20:38:07 +01:00
Artur Wieczorek
687f679705 Fix creating wxPGChoiceAndButtonEditor controls
Since wxPGChoiceAndButtonEditor derives from wxPGChoiceEditor so making
a call to the base class virtual function CreateControls() from the child
CreateControls() is legitimate and more clean than calling to this
function in the another instance of the base class wxPGChoiceEditor
(which may not exists).
2020-02-09 20:34:09 +01:00
Paul Cornett
edc47d8fed Fix appearance of GTK3 single-line wxTextCtrl with non-default background
...and more text than will fit. See #18663
2020-02-09 08:13:01 -08:00
Ilya Sinitsyn
e0c09c8438 Only overflow left-aligned cells in wxGrid
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
2020-02-07 19:35:35 +01:00
Ilya Sinitsyn
a40acbb28e Add CanOverflow function to wxGridCellAttr
Add function to determine whether the cell will draw the overflowed text
to neighbour cells. Note that only left aligned cells currently can overflow.
2020-02-07 19:34:50 +01:00
Ilya Sinitsyn
249e5add7e Redraw overflowed wxGrid cells to update the background
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
2020-02-07 00:12:01 +01:00
Vadim Zeitlin
a2b39f782b Don't call gtk_disable_setlocale() more than once
This is useless and just results in GTK warnings.
2020-02-06 15:59:45 +01:00
Kvaz1r
5663157674 Fix link between flags and buttons in wxAuiManager
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/1723

Closes #18223.
2020-02-05 16:02:51 +01:00
Vadim Zeitlin
1650ea7030 Don't use RPC_WSTR absent from older MinGW headers
Fix compilation with MinGW 5.3 after the changes of
948ddc6e0f
2020-02-05 03:40:24 +01:00
Vadim Zeitlin
bc2827f6e9 Merge branch 'grid-refresh-block'
Avoid asserts due to passing invalid coordinates to RefreshBlock() when
the grid didn't have any rows or columns.

Closes https://github.com/wxWidgets/wxWidgets/pull/1725

Closes #18659, #18660.
2020-02-05 03:33:29 +01:00
Vadim Zeitlin
8cf3554399 Update png submodule to avoid -Wundef warnings during build
No real changes.
2020-02-04 22:59:31 +01:00
Ilya Sinitsyn
0c9a9dc126 Fix wrong wxGrid::RefreshBlock calling for an empty grid
There is no cells to select if the grid is empty (no rows or no columns).
So check for the columns count in SelectRow and check for the rows count in
SelectCol and call RefreshBlock only if it necessary.

Fix https://trac.wxwidgets.org/ticket/18659
Fix https://trac.wxwidgets.org/ticket/18660
2020-02-04 22:59:08 +07:00
Paul Cornett
360bbbc453 Fix a wxVariant ctor argument type after 948ddc6e0f
'const void*' won't match 'void*' parameter, gets converted to bool instead
2020-02-04 00:14:19 -08:00
Vadim Zeitlin
2f2ea1d193 Merge branch 'im/osx_fixes' of https://github.com/imciner2/wxWidgets
wxOSX fixes for wxGrid background, wxDataViewCtrl with wx[HV]SCROLL
styles and changing the window level.

See https://github.com/wxWidgets/wxWidgets/pull/1717
2020-02-04 02:31:38 +01:00
Vadim Zeitlin
25e256a0f5 Merge branch 'osx_icns_imagehandler' of https://github.com/TcT2k/wxWidgets
Add handler for ICNS files (wxBITMAP_TYPE_ICON).

Also remove some old unused Carbon files.

See https://github.com/wxWidgets/wxWidgets/pull/1716

Closes #18647.
2020-02-04 02:26:42 +01:00
Vadim Zeitlin
8db1e0d0c7 Merge branch 'listctrl-autosize-checkboxes'
Fix autosizing column with checkboxes in generic wxListCtrl.

See https://github.com/wxWidgets/wxWidgets/pull/1721
2020-02-04 02:24:02 +01:00
Vadim Zeitlin
0cb0367fce Merge branch 'd2d-gradient' of https://github.com/MaartenBent/wxWidgets
Fix reference count in D2D renderer gradient brushes.

See https://github.com/wxWidgets/wxWidgets/pull/1724
2020-02-04 02:16:19 +01:00
Vadim Zeitlin
276a815ed5 Merge branch 'grid-ellipsize-offset' of https://github.com/thesiv/wxWidgets
Fix text cropping when using ellipsization in wxGrid.

See https://github.com/wxWidgets/wxWidgets/pull/1720
2020-02-04 02:14:19 +01:00
Vadim Zeitlin
e171757160 Merge branch 'grid-selecting'
Fix several problems related to selecting cells from keyboard in wxGrid.

Closes https://github.com/wxWidgets/wxWidgets/pull/1719
2020-02-04 02:13:20 +01:00
Ilya Sinitsyn
45839843e6 Use a constant for the wxGrid text margin
Use a constant instead of a hardcoded value for the text margin.
2020-02-04 05:36:24 +07:00
Ilya Sinitsyn
72824bc269 Fix text cropping when using ellipsization in wxGrid
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.
2020-02-04 05:36:24 +07:00
Paul Cornett
f4299c3c01 Eliminate a couple more -Wcast-qual warnings 2020-02-03 09:02:14 -08:00
Paul Cornett
ad7dfba124 STL build fix after 948ddc6e0f 2020-02-03 08:59:22 -08:00
Paul Cornett
0ca45d1a59 Remove redundant checks for NULL before calling delete 2020-02-02 23:51:39 -08:00
Paul Cornett
948ddc6e0f Eliminate -Wcast-qual warnings with GCC and Clang
Use const_cast, mutable, and various other changes to avoid -Wcast-qual
2020-02-02 22:50:32 -08:00
Maarten Bent
95d3064a6b Fix reference count in D2D renderer gradient brushes
Closes #18656.
2020-02-02 14:53:16 +01:00
Maarten Bent
8e2f674c0b Remove trailing whitespace 2020-02-02 14:50:57 +01:00
Vadim Zeitlin
5b797618a1 Merge WXK_HOME and WXK_END handling in a single case
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.
2020-02-01 02:23:05 +01:00
Vadim Zeitlin
c7707a16c7 Simplify check for current cell in Home/End handling code
Prefer to just test whether we have it instead of breaking out of the
case if we don't, this is slightly more straightforward.

No real changes.
2020-02-01 01:57:56 +01:00
Ilya Sinitsyn
6e6eb799c8 Implement wxGrid cells selection for Home and End keys
Select cells if Shift is pressed when handling Home and End keys
2020-02-01 01:53:59 +01:00
Ilya Sinitsyn
68ccc77e20 Fix wxGrid Home and End keys handling
Take into account that rows and columns may be hidden and columns also can be
reordered.
2020-02-01 01:53:59 +01:00
Ilya Sinitsyn
d455c5b99e Fix making the wrong wxGrid cell visible when selecting
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.
2020-02-01 01:53:59 +01:00
Vadim Zeitlin
e1fce68be6 Account for checkboxes when autosizing wxListCtrl first column
Without this, the text of the first column was truncated when using
checkboxes.

Closes #18661.
2020-01-31 16:22:49 +01:00
Vadim Zeitlin
1014877302 Slightly reorganize last column width calculation
No real changes, just make it more obvious that we increase the last
column width to the remaining margin if it's smaller than it.
2020-01-31 16:18:41 +01:00
Vadim Zeitlin
01d0deb5bf Get rid of unnecessary variable in wxListCtrl::SetColumnWidth()
No real changes, just remove a variable assigned and used exactly once.
2020-01-31 16:15:13 +01:00
Fulvio Senore
9d470f6433 Fix focus-related problems in wxComboCtrl under MSW
Allow default handling of focus events to take place, this is needed
at least under MSW to avoid confusing the system focus-tracking logic.
2020-01-31 15:41:55 +01:00
Paul Cornett
0a56399f3c Fix TLW decorations when GTK3 is using Client Side Decorations
We need to avoid setting Window Manager decorations or using deferred show
See #17971
2020-01-30 01:05:45 -08:00
Paul Cornett
26f58bdf78 Fix base class call of virtual SetFont() in wxGenericListCtrl
Hard-coding 'wxWindow' improperly bypasses an override in wxControl on GTK3
2020-01-27 11:27:39 -08:00
Paul Cornett
d03a5c1155 Remove unused member function declaration 2020-01-26 09:50:56 -08:00
Paul Cornett
47163f6433 Simplify boolean expression, 'A != false' is just 'A'
And correct associated assert message
2020-01-26 09:47:29 -08:00
Paul Cornett
2db487c67e Avoid -Wundef warning when libpng support is disabled 2020-01-26 09:44:17 -08:00
Paul Cornett
0ec2c9d8f2 Change some misleading formatting
Don't put an unrelated compound statement directly below an 'if', which makes
it way too easy to mistake it as the body of the 'if'. No real changes.
2020-01-26 09:34:18 -08:00
Paul Cornett
0a2c05ae92 Initialize members in declaration order, avoids -Wreorder warning 2020-01-26 09:25:56 -08:00
Ian McInerney
654ef6d729 OSX: Only update the window level if it has changed
Updating the level could lead to windows being reordered in that level
on some OS versions, so for safety don't do it unless it is needed.
2020-01-24 00:17:01 +00:00
Ian McInerney
f5c3d9d1fb OSX: Ignore wxHSCROLL and wxVSCROLL in wxDataViewCtrl
Using these two style flags in wxDataViewCtrl causes the library
to seg fault when trying to create the scrollbars. The wxDataViewCtrl
has scrollbars already without these flags.

Closes #17028
2020-01-24 00:17:01 +00:00
Ian McInerney
278d98b2b6 OSX: Draw background in wxGrid cell when editor is open
This was removed when Quick Draw was in use due to an issue,
but Quick Draw has been removed, so re-enable it.
2020-01-23 23:21:08 +00:00