Commit Graph

10285 Commits

Author SHA1 Message Date
Robin Dunn
085f08aefe Remove the generic-specific methods from the wxAnimation API 2020-04-01 13:30:49 -07:00
Robin Dunn
e464453073 * Switch wxAnimation to be a facade over a wxAnimationImpl class.
* Implement wxAnimationGenericImpl
* Update wxGenericAnimationCtrl as needed
2020-04-01 11:53:19 -07:00
Robin Dunn
a7f9d5e3c5 * Switch back to using an wxAnimationBase class
* Change the [GS]etAnimation methods to be non-virtual so they can use generic/native types of animation obj
2020-03-30 14:53:11 -07:00
Robin Dunn
08ac4dbad6 Name the base animation class wxGenericAnimation with a wxAnimation shim class 2020-03-27 15:53:03 -07:00
Robin Dunn
488084c2f5 Name the base animation class wxGenericAnimation with a wxAnimation shim class 2020-03-27 14:33:11 -07:00
Robin Dunn
fae15d39a6 * Rename the generic version as wxGenericAnimationCtrl
* Add a simple shim class for the generic wxAnimationCtrl
* Use the generic wxAnimation as the base class (this will probably change...)
2020-03-25 16:29:34 -07:00
Anton Triest
730b3d1a44 Allow accepting edit with Numpad Enter key in wxTreeCtrl too
This key should work in the same way as normal Enter key and accept the
changes.

Closes #18682.
2020-03-16 00:34:31 +01:00
Vadim Zeitlin
61277424d7 Merge branch 'brush-transparency-wxsvgfiledc' of https://github.com/MaartenBent/wxWidgets
Improve brush transparency in wxSVGFileDC.

See #1275, #1748.
2020-03-06 01:03:40 +01:00
Vadim Zeitlin
c09fd8b59d Update copyright years to 2020
Just run misc/scripts/inc_year and commit the results.

Closes #18690.
2020-03-06 00:51:39 +01:00
Jouk
c42715f0c9 define WXBUILDING when compiling the library on OpenVMS 2020-03-05 08:15:04 +01:00
Maarten Bent
759723795e Support transparency for brush patterns in wxSVGFileDC
Include the alpha value in the pattern name.
2020-03-01 22:29:18 +01:00
Maarten Bent
7d2f6b4608 Fix brush pattern when transparent pen is set in wxSVGFileDC
Use the default stroke settings when defining the brush pattern.
2020-03-01 22:12:03 +01:00
Dummy
3e0780e811 Add wxTempFFile, similar to wxTempFile but using buffered I/O
Also add wxTempFFileOutputStream.

Closes #18673.
2020-02-21 14:52:40 +01:00
Vadim Zeitlin
a4906f1222 Change wxGetTopLevelParent() to take wxWindowBase
This makes it more convenient to use when building wxUniv, when
wxWindow$TOOLKIT objects are wxWindowBase but not actually wxWindow.

No real changes.
2020-02-17 19:49:23 +01:00
Vadim Zeitlin
08db475a7f Process queued events with higher priority than idle ones
In the port using wxEventLoopManual, such as wxMSW, an idle event
handler calling wxIdleEvent::RequestMore() prevented any queued events
from being handled until the next "real" event (i.e. originating from
the underlying toolkit) was received. This was unexpected and
incompatible with the behaviour of wxGTK, where queued events were still
processed immediately even when RequestMore() was being constantly
called, so change wxEventLoopManual to also give higher priority to
these events by stopping calling ProcessIdle() if a queued event is
available.

Closes #18667.
2020-02-15 18:26:09 +01:00
Vadim Zeitlin
789858a4d9 Merge branch 'secret-service-check'
Check if secret service can be used under Unix.

See https://github.com/wxWidgets/wxWidgets/pull/1733
2020-02-11 22:36:03 +01:00
Vadim Zeitlin
8fcf46f65c Forbid creation of wxPaintEvent objects from user code
This doesn't work anyhow, so it's better to prevent the code doing this
from compiling instead of getting run-time asserts or worse.

Also simplify construction of these events inside wxWidgets by passing
the window itself to the ctor instead of passing just its ID and calling
SetEventObject() separately later.

For consistency, do the same thing for wxNcPaintEvent too.
2020-02-10 23:03:01 +01:00
Vadim Zeitlin
5a454d373b Optionally return error message from wxSecretStore::IsOk()
This allows to give at least some explanation about why the secrets
can't be stored to the user, e.g. they could search for a message such
as

The name org.freedesktop.secrets was not provided by any .service files

to find out that gnome-keyring package needs to be installed on their
system.

Note that this change means that under Unix an attempt to connect to the
secret service is now made when wxSecretStore is constructed and not
just when it's used for the first time, as before.
2020-02-10 18:23:59 +01: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
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
47163f6433 Simplify boolean expression, 'A != false' is just 'A'
And correct associated assert message
2020-01-26 09:47:29 -08:00
Vadim Zeitlin
767c07c040 Merge branch 'webview-edge'
Add support for (optionally) using Edge-based wxWebView.

See https://github.com/wxWidgets/wxWidgets/pull/1700
2020-01-22 03:38:00 +01:00
Vadim Zeitlin
cc91065c83 Remove an extra block needed after the previous commit
Also add a comment for clarity.

No real changes.
2020-01-20 21:57:36 +01:00
Lauri Nurmi
04d71c80e3 Fix build when configured with --disable-sysoptions 2020-01-20 22:18:55 +02:00
Vadim Zeitlin
724621929d Improve the check for TLW in focus handling code
Use IsTopNavigationDomain() instead of IsTopLevel() to do the right
thing for MDI child frames too.
2020-01-20 12:42:18 +01:00
Vadim Zeitlin
50a6e80be5 Fix checking for the deepest shown window in focus handling code
wxSetFocusToChild() could recurse to the parent TLW, which was clearly
nonsensical as it means that restoring last focus in a dialog could end
up setting it to the parent frame.

Fix this by breaking out of the loop as soon as we reach a TLW.

See #18653.
2020-01-20 00:32:21 +01:00
Vadim Zeitlin
a73194f6b4 Allow parsing all fractional sizes in wxFont descriptions
Remove the check that the size representation was the same as float and
as double, which was supposed to catch various edge cases (NaNs, huge
numbers etc) but actually caught plenty of perfectly valid font sizes
such as 13.8 that simply lost precision when converting from double to
float.

Just check that the size is positive and less than FLT_MAX to avoid
using values that really don't make sense as font sizes.

Also add a unit test checking that using fractional font sizes in
description string works as expected.

Closes #18590.

Closes https://github.com/wxWidgets/wxWidgets/pull/1707
2020-01-19 17:46:55 +01:00
Maarten Bent
ce968d0ecb Enable building without wxUSE_WEBVIEW_IE 2020-01-17 09:37:12 +01:00
Tobias Taschner
c3f0b7a6cb Apply suggestions from code review
Co-Authored-By: VZ <vz-github@zeitlins.org>
2020-01-15 15:55:49 +01:00
Lauri Nurmi
e8b8b0288f Make wxNewId() and others return/take wxWindowID rather than int
wxWindowID is a typedef of int, so nothing should really change, except
for the improved readability.

Closes https://github.com/wxWidgets/wxWidgets/pull/1682
2020-01-15 14:28:33 +01:00
Tobias Taschner
f919b6e2f5 Rename from webview_edgec to webview_edge 2020-01-11 14:47:47 +01:00
Markus Pingel
6a99e7e273 Add wxWebView Edge (Chromium) implementation
This backend requires WebView2 SDK and enables usage of Edge (Chromium)
on Windows 7 and newer
2020-01-10 22:22:28 +01:00
Vadim Zeitlin
7dd0ad9a0d Merge branch 'composite-contextmenu-event'
Fix event object and ID of wxEVT_CONTEXT_MENU sent from parts of a
composite control.

See https://github.com/wxWidgets/wxWidgets/pull/1698
2020-01-09 23:27:17 +01:00
Vadim Zeitlin
52ae67ef86 Replace dynamic casts with virtual wxWindow::WXGetTextEntry()
Instead of checking for all text-like controls one by one in
wxCommandEvent::GetString(), call a virtual function checking for this.

This is simpler, less error-prone and faster -- at the cost of
increasing the vtbl size of all wxWindow-derived classes.

Closes https://github.com/wxWidgets/wxWidgets/pull/1696
2020-01-09 23:25:49 +01:00
Tobias Taschner
095a93e0c0 Add wxWebView::IsBackendAvailable()
This allows to check if a specified backend has been registered before creation of a new instance
2020-01-09 13:44:06 +01:00
Vadim Zeitlin
52416931a4 Send wxEVT_CONTEXT_MENU to the main window of composite controls
This is important to allow catching the context menu events from the
composite control children at the main window level using the main
window ID: previously, these events used the (typically auto-generated
internally) ID of the child window, which was an implementation detail
and prevented the code binding to these events using the ID of e.g.
wxListCtrl itself from working under the other platforms, where
wxListCtrl is a generic composite window, even if it worked under MSW,
where wxListCtrl is native.
2020-01-07 18:22:09 +01:00
Vadim Zeitlin
3a09975465 Create WXSendContextMenuEvent() helper function
Put common code from all the different ports into it.

This is not very useful right now, but it will allow to change this
function once, instead of applying the same change to all ports, in the
upcoming commit.
2020-01-07 18:22:09 +01:00
Vadim Zeitlin
d52331046c Merge branch 'gtk-srchctrl'
Add native wxSearchCtrl implementation for wxGTK.

Closes https://github.com/wxWidgets/wxWidgets/pull/1688
2020-01-07 03:22:52 +01:00
Vadim Zeitlin
b2ab6c99e4 Fix wxCommandEvent::GetString() for wxSearchCtrl events
wxEVT_TEXT events generated by native wxSearchCtrl implementations
always returned an empty string, as wxSearchCtrl was not recognized by
the special hack inside wxCommandEvent::GetString() which retrieved the
text on demand.

Fix this by adding yet another special case for this. This is not ideal,
but should do for now.
2020-01-07 03:22:39 +01:00
Vadim Zeitlin
826cc882dc Merge branch 'gtk-srchctrl'
Add native wxSearchCtrl implementation for wxGTK.

Closes https://github.com/wxWidgets/wxWidgets/pull/1688
2020-01-07 03:16:02 +01:00
Vadim Zeitlin
d62b79a11b Fix wxCommandEvent::GetString() for wxSearchCtrl events
wxEVT_TEXT events generated by native wxSearchCtrl implementations
always returned an empty string, as wxSearchCtrl was not recognized by
the special hack inside wxCommandEvent::GetString() which retrieved the
text on demand.

Fix this by adding yet another special case for this. This is not ideal,
but should do for now.
2020-01-07 03:15:39 +01:00
Artur Wieczorek
38cec22d4c Use division assignment operator to simplify the statement 2019-12-28 23:34:17 +01:00
Artur Wieczorek
c6e188610d Don't allocate colour tables if palletes are not in use 2019-12-28 23:32:34 +01:00
Vadim Zeitlin
bcb0d42d7a Fix harmless warning from the last commit
This is yet another fix related to recent wxBMPHandler changes: this one
is trivial, as it just avoids gcc signed/unsigned comparison warning,
but is still needed for the clean build.

See #18634.
2019-12-28 02:36:07 +01:00
Vadim Zeitlin
ca065c5004 Fix Unix build by avoiding the use of BITMAPINFOHEADER struct
The code from the previous commit used sizeof(BITMAPINFOHEADER), but
this struct is only defined under MSW, so this broke the build under the
other platforms.

Luckily, we don't actually need the struct itself, but just its size, so
simply hardcode it here as it's fixed (part of the BMP format) and not
going to change.

See #18634.
2019-12-28 02:19:54 +01:00
Eric Jensen
cccda9ef6b Fix loading colour palette from BMP file
Only BITMAPINFOHEADER data are explicitly read and processed so for a bitmap
with BITMAPV4HEADER or BITMAPV5HEADER we have to forward stream position
to the end of the actual header in order to start reading colour table
from the right position.

Closes #18634.
2019-12-28 00:18:10 +01:00
orbitcowboy
a7f31db8cd Fix mismatching delete in wxList code
Use delete, not free, to free a pointer allocated with new.

Closes https://github.com/wxWidgets/wxWidgets/pull/1686
2019-12-23 16:50:39 +01:00
orbitcowboy
6e6e1cf25b Fix mismatching delete in wxTarOutputStream code
Free the buffer allocated with new[] using delete[] and not just
"delete".

Closes https://github.com/wxWidgets/wxWidgets/pull/1685
2019-12-23 16:49:06 +01:00