Commit Graph

39237 Commits

Author SHA1 Message Date
Vadim Zeitlin
155e2beafd Use symbolic constant instead of hardcoded 15/85%
It's still hardcoded, but now it has a name, which explains what it is
and can be searched for.

No real changes.
2020-05-25 01:52:32 +02:00
Vadim Zeitlin
013cacee4d Don't use unsigned variables for pixel values
This is not a good idea because we really don't want them to wrap around
and it also provokes signed/unsigned comparison warnings when using
them.

Also make this variable and the other related one const.
2020-05-03 21:10:03 +02:00
Konstantin S. Matveyev
403a8ed115 Improve drag-and-drop support in generic wxDataViewCtrl
Set the proposed drop index in wxEVT_DATAVIEW_ITEM_DROP_POSSIBLE event
generated by the control to allow dropping either on or between the
items in the control, as it was already possible with the Mac version.

Closes https://github.com/wxWidgets/wxWidgets/pull/1822
2020-05-03 21:10:04 +02:00
Vadim Zeitlin
05bf67df1e Fix parent/child relationship in MSW wxFindReplaceDialog
It's not enough to set the parent pointer in the child, the parent also
needs to be aware of its child, so call AddChild() to do both at once.

This ensures that find dialog with non-null parent is destroyed by it
when it is itself destroyed.

Closes #18747.
2020-05-03 20:17:31 +02:00
Anton Triest
35f1cb417b Fix hit testing in generic wxTreeCtrl in high DPI
Update the code doing hit testing to use FromDIP() too, to be consistent
with the changes of 3a9b5001ce (Fix size of wxGenericTreeCtrl buttons
when using high DPI, 2020-02-23) # Please enter the commit message for
your changes. Lines starting.

See #18674.

Closes #18749.
2020-05-03 19:59:37 +02:00
Vadim Zeitlin
b6c593af45 Fix regression in MSW DoDragDrop() return code
It always returned wxDragNone since the changes of f5548e399e (Fix
problem with dragged icon remaining on screen under MSW 10, 2020-01-11)
which wrongly changed pdwEffect to DROPEFFECT_NONE before doing anything
else, disregarding the fact that it's an in-out parameter and not just
an output one.

Fix this by simply not doing this, just as it hadn't been done before.

See #18499.
2020-05-03 03:13:01 +02:00
Vadim Zeitlin
c88f3a114c Fix warnings in recently added MSWSetTabStops()
gcc complained about converting NULL to long (-Wconversion-null), so use
0 explicitly. Also really pass the pointer to the first element, rather
than iterator, which is not guaranteed to be a pointer.

This amends the changes of d1553c63ed (Improve support for TABs in
wxListBox under MSW, 2020-04-13).

See https://github.com/wxWidgets/wxWidgets/pull/1789
2020-05-03 03:02:20 +02:00
Vadim Zeitlin
43bdadda0d Update PNG library to avoid more -Wundef warnings in MinGW build
Define symbols used in MIPS/PPC code which are also tested using "#if
PNG_FOO > 0" as 0 instead of leaving them undefined.
2020-05-03 02:57:58 +02:00
Konstantin S. Matveyev
bcddfd6efb Don't start dragging invalid items in generic wxDataViewCtrl
It's not useful to allow dragging from the control area where there are
no items and it resulted in assert failures due to using an invalid row
in wxDataViewDropSource::GiveFeedback(), so simply don't do it at all.

Note that native GTK wxDataViewCtrl implementation doesn't do this
neither, so it also makes the behaviour more consistent.

Closes https://github.com/wxWidgets/wxWidgets/pull/1828
2020-05-02 20:06:49 +02:00
Lauri Nurmi
42af101836 Remove obsolete Darwin-specific code in dynlib.*/dlunix.cpp
We don't have our own dlxxx() implementations under Darwin since 76c5594
(Remove our own dlxxx() functions emulation for OS X <= 10.3.,
2013-10-17).

wxHAVE_DYNLIB_ERROR is reduced to being the same HAVE_DLERROR, so use
the latter one instead.

Closes https://github.com/wxWidgets/wxWidgets/pull/1826
2020-05-02 19:30:28 +02:00
Kvaz1r
67c1c412c6 Implement support for copying wxGrid cells to clipboard
This is useful for read-only grids, in which an editor can't be shown to
copy the value of a cell, and also for copying an entire selection block
and not just a single cell.

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

Closes #13562.
2020-05-02 19:20:48 +02:00
Vadim Zeitlin
e6ab2391c4 Merge branch 'dvc-virtual-has-value'
Allow overriding wxDataViewModel::HasValue() to specify which cells
should, and should not, show anything.

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

Closes #18724.
2020-05-02 18:22:27 +02:00
Artur Sochirca
d1553c63ed Improve support for TABs in wxListBox under MSW
Always set the LB_USETABSTOPS style flag to achieve behaviour more
compatible with other platforms and expand TABs to align them at tab
stops positioned at every 8 characters.

Also add MSW-specific MSWSetTabStops() method allowing to customize tab
stops.

Update the documentation and the sample to demonstrate using TABs.

Closes https://github.com/wxWidgets/wxWidgets/pull/1789
2020-05-02 18:07:50 +02:00
Vadim Zeitlin
ebe7816516 Finish editing on Enter in cells in the last shown row of wxGrid
Previously, pressing Enter in a cell of a row which wasn't the last one,
but was the last shown one, didn't do anything because we explicitly
checked whether the cell was in the last row and not in the last visible
row, but MoveCursorDown() doesn't move the cursor for the latter, and
not just for the former.

Fix this by avoiding any row checks at all and just calling
MoveCursorDown() in any case and DisableCellEditControl() if it didn't
do anything.

Closes #18754.
2020-05-02 17:45:51 +02:00
Vadim Zeitlin
2be019f8f8 Fix integer overflow when reading ZIP central directory
Our code didn't convert 32-bit offset to (possibly 64-bit) m_Offset
correctly in the first place, and didn't check if the offset remained
valid after adjustment.

Fix both problems by using explicit cast and checking for the latter
explicitly.

Credit to OSS-Fuzz: this solves its issue 20527.
2020-05-02 03:38:57 +02:00
Artur Wieczorek
f938402dd0 Use conditional operator instead of conditional statement 2020-05-01 19:38:52 +02:00
Artur Wieczorek
c0f7275b11 Get rid of redundant return statement 2020-05-01 19:36:09 +02:00
Artur Wieczorek
b9ebffd832 Set also wxPGEditor items while changing wxPGProperty choices
If we replace current set of choices when editor is active
we need also replace editor items.

Closes #18741.
2020-05-01 19:35:29 +02:00
Artur Wieczorek
8a9e5e5ac7 Implement method to set items of wxPGChoiceEditor
In addition to the current methods to add/delete one item to the control
we would need a method to replace all existing control items with new ones
at once.
2020-05-01 17:57:46 +02:00
Paul Cornett
9d4bb47050 Don't compile Cairo dynamic linking code with GTK
It's useless as Cairo is always linked to any program using GTK
2020-04-30 09:11:37 -07:00
Paul Cornett
af5950c108 Avoid Gtk-CRITICAL with GTK3 when calling SetFont() before Create() 2020-04-29 07:35:44 -07:00
Stefan Csomor
7c61841d27 adding implementation for GetMatchingPair on macOS, streamlining wxDataObject
When adding the GetMatchinPair implementation, some clean-ups were done, for further details please see #1821
2020-04-26 17:50:33 +02:00
Stefan Csomor
a235f8e04c bracket code not working on ios 2020-04-26 11:54:54 +02:00
Stefan Csomor
68b22e65b8 adding bitmap button implementation to ios 2020-04-26 11:54:04 +02:00
Vadim Zeitlin
dc34600c0c Fix built-in PNG library build with MSVC 9 and older
Upgrade the submodule to a version which doesn't try to use SSE2 with
this old compiler, as it doesn't support the required intrinsics.

See https://github.com/wxWidgets/libpng/pull/4
2020-04-24 00:42:41 +02:00
Paul Cornett
9f9bb66d18 Fix for GTK2 wxSpinCtrl SetIncrement() not immediately updating increment
See #18735
2020-04-23 08:55:46 -07:00
Paul Cornett
c5faf9cfac Avoid passing float argument for "%f" printf specifier
"%f" takes a double. Eliminates some -Wdouble-promotion warnings.
2020-04-21 11:59:36 -07:00
Vadim Zeitlin
62372d4337 Merge branch 'webview_edge3' of https://github.com/TcT2k/wxWidgets
Update wxWebViewEdge for SDK 0.9.488.

It now requires Edge 84.0.488.0 or newer (currently Canary).

See https://github.com/wxWidgets/wxWidgets/pull/1814
2020-04-21 18:30:53 +02:00
Paul Cornett
896512c732 Change fractional point size from float to double
There doesn't seem to be any compelling reason to use float. Using double
is simpler, and avoids otherwise unnecessary float<->double conversions.
2020-04-21 09:00:04 -07:00
Paul Cornett
d551c156c4 Remove some duplicate code for getting hyperlink color 2020-04-21 08:35:07 -07:00
Jouk
9426490333 Fix for gtk1.x 2020-04-21 08:40:45 +02:00
Jorge Moraleda
e3b216b75e Consistent indentation in generic DVC 2020-04-20 19:50:26 -07:00
Jorge Moraleda
773a1876de In DVC, if current column was set by keyboard to something not editable and the user pressed Space/F2 then do not edit anything because focus is visually on that column and editing something else would be surprising. But if the current column was set by mouse to something not editable, treat the situation as if there was whole-row focus, because the mouse click could very well be targeted on the row rather than on an individual cell. 2020-04-20 19:43:34 -07:00
Tobias Taschner
26aa9c492e Implement wxWebViewEvent::GetNavigationAction() for Edge
Set the user initiated flag from the SDK
2020-04-20 23:20:23 +02:00
Tobias Taschner
7d1c40ecf5 Updated wxWebViewEdge for SDK to 0.9.488
Requires Edge 84.0.488.0 or newer

Another SDK release before 1.0 includes some
breaking changes regarding naming
2020-04-20 23:00:10 +02:00
Paul Cornett
f655a52fba Allow wxSizer::Fit() to work properly when called from TLW ctor on GTK3
Style information affecting sizes may not be updated by GTK until TLW is shown
See #16088
2020-04-20 07:17:28 -07:00
Paul Cornett
e70b449084 Avoid "Theme parsing error" with GTK3 < 3.20
'caret-color' CSS property is not recognized prior to 3.20
2020-04-19 23:05:48 -07:00
Vadim Zeitlin
b3ccebad5e Merge branch 'ole-init-module'
Do OLE initialization from a module to fix problems due to
uninitializing it too early.

See https://github.com/wxWidgets/wxWidgets/pull/1807
2020-04-19 22:22:55 +02:00
Paul Cornett
8649f2548e Avoid some deprecation warnings from GTK2 headers 2020-04-19 11:09:09 -07:00
Paul Cornett
6bafaeee6f Round GdkRGBA color values when converting to GdkColor
Should be slightly more accurate, and may avoid discrepancies
when converting wxColour to wxString and back again
2020-04-19 10:10:55 -07:00
Vadim Zeitlin
5ecc553afb Add wxToastNotifMsgModule dependency on wxOleInitModule
This ensures that OLE is still initialized when this module cleanup
occurs, as it must be when IToastNotificationManagerStatics COM pointer
is destroyed.

Closes #18730.
2020-04-19 17:07:04 +02:00
Vadim Zeitlin
893f3a6c00 Add wxDirect2DModule dependency on wxOleInitModule
This avoids the need for calling CoInitializeEx() and CoUninitialize()
in this module itself, it's enough to ensure that wxOleInitModule does
it before, or after, before this one is initialized, or uninitialized,
respectively.

This replaces the earlier fix of 450019dc21 (Ensure COM is still active
when Direct2D renderer is in use, 2015-12-30).

See #17308.
2020-04-19 17:04:36 +02:00
Vadim Zeitlin
05059b64f1 Remove unneeded wxOleInitialize() from wxClipboard code
There is no need to do it here when it had been already done on startup.

No real changes, just cleanup.
2020-04-19 17:02:32 +02:00
Vadim Zeitlin
071760b7f4 Move OLE initialization to a module
Previously this was done in wxMSW-specific wxApp version, which meant
that initialization was done after the modules initialization and,
especially problematically, uninitialization was done before modules
uninitialization, which resulted in problems when doing anything using
OLE from the modules OnExit().

This commit doesn't solve these problems yet, because it leaves modules
initialization order undefined, but the upcoming commits using it will.
2020-04-19 16:59:59 +02:00
Paul Cornett
82b3efb88e Set title bar decorations under Wayland
By default GTK just gives you a close button
2020-04-18 16:26:22 -07:00
Artur Wieczorek
fbafe74414 Pass proper argument to wxFileDialog
File name only should be passed for `defaultFile' parameter otherwise
assertion in wxFileName::Assign() fails ("the file name shouldn't
contain the path").
2020-04-19 00:21:39 +02:00
Artur Wieczorek
5236801241 Simplify Boolean variable initialization 2020-04-19 00:20:14 +02:00
Jorge Moraleda
ede053def6 A DVC cell that has no value is not editable 2020-04-18 14:10:59 -07:00
Paul Cornett
48873dcbd3 Simpify wxSYS_COLOUR_HOTLIGHT implementation for GTK2
Also fixes a memory leak, and a Gtk-CRITICAL when running against 2.8
2020-04-18 12:46:30 -07:00
Vadim Zeitlin
1b4a5ece64 Add GTK 2.10 version checks around code using GtkLinkButton
Blindly repair compiling/running against GTK < 2.10 after the previous
commit.
2020-04-18 17:58:43 +02:00