Commit Graph

70478 Commits

Author SHA1 Message Date
Vadim Zeitlin
9dc676a32c Don't run GitHub CI action when other CI scripts change
Avoid wasting resources when only the scripts used with AppVeyor or
Travis CI change.
2021-02-15 16:04:51 +01:00
ali kettab
db33e1549b Make wxWindow::TransferData{To,From}Window actually transfer to self 2021-02-15 15:38:21 +01:00
ali kettab
afbca9e1df Rename ValidationTraverserBase::DoForAllChildren to DoForSelfAndChildren 2021-02-15 15:28:28 +01:00
Dimitri Schoolwerth
7bf2dc71c3 Remove wxGridCellWithAttr
After the previous commit the coords stored by wxGridCellWithAttr have
become redundant as the coords are now also stored as part of the key
used for an attributes map. With then only an attribute remaining in
wxGridCellWithAttr it can be removed completely, letting the value of
an attributes map point directly to a (ref-counted) attribute instead.
2021-02-15 12:36:03 +01:00
Dimitri Schoolwerth
061191e659 Improve responsiveness of a wxGrid having plenty of attributes
Speed up grid attribute lookups by using a hash map instead of array.

Closes #12764.
2021-02-15 12:36:03 +01:00
Dimitri Schoolwerth
84c989626d Make slowness of attribute lookups more apparent in grid sample
Multiply the number of rows in the grid sample by a factor of 10. This
demonstrates the slowness with attribute lookups better when using
checkered (Ctrl+Shift+K) or coloured (Ctrl+Shift+L) cells, as filling
the grid is slowed down by way more than a factor of 10. Scrolling also
becomes less responsive the further away from the home cell the view is.

As a result of increasing the row count also move the cells positioned
near the end of the grid there again, and don't use fixed coords for
them.
2021-02-15 12:36:03 +01:00
Dimitri Schoolwerth
823d79ce06 Demonstrate intensive attribute usage in grid sample
Add options to fill grid either half (checkered cells) or fully (all
cells coloured) with attributes. Available from Grid > "Toggle Checkered
Cells" and "Toggle Coloured Cells".
2021-02-15 12:36:03 +01:00
Dimitri Schoolwerth
b5edfa2872 Add minor test for grid attributes
Test overwriting a cell's attribute with another attribute. With this
addition wxGridCellAttrData::Setattr() is now fully covered by tests.
2021-02-15 12:36:03 +01:00
Dimitri Schoolwerth
f048a03ea6 Fix parent of extra control not being a wxFileDialogBase on macOS
A wxEVT_UPDATE_UI handler expects the parent of the extra control panel
to be at least a wxFileDialogBase. However with wxMac when showing file
types the extra control gets reparented and has the panel containing
file type controls as a parent.

Fix by not reparenting in case the extra control itself already is
a panel, and then instead use the extra control as a container for
the file type controls.
2021-02-15 00:37:45 +01:00
Dimitri Schoolwerth
40422db37d Add wxMac wxFileDialog::GetCurrentlySelectedFilterIndex() support
Simply set the relevant variable while changing selection and give
the extra control a chance to update.

Note that updating the UI currently asserts with the dialog sample if
wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES is 1 (toggable with Ctrl+Cmd+S in
the sample), This will be fixed in the next commit.
2021-02-15 00:37:45 +01:00
Dimitri Schoolwerth
57688cf2da Refactor repetitions into wxFileDialogBase::UpdateExtraControlUI()
No real changes, just prepare for the next commit before repeating more
code.
2021-02-15 00:37:45 +01:00
Dimitri Schoolwerth
5cc2f6ce9f Fix width of file type wxChoice in open dialogs on macOS
When using both an extra control and wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES
set to 1 to show file types, the controls for the latter stretch towards
the dialog's width.

Fix by not stretching the wxChoice used for filtering and surrounding
the file type controls with stretching spacers instead. This makes
the filter controls appear the same as without an extra control:
horizontally centred and not stretching.
2021-02-15 00:37:45 +01:00
Dimitri Schoolwerth
25f981bfad Demonstrate wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES in dialogs sample
Add a menu option (Ctrl+Cmd+S) to toggle showing of the filter choice
with file types in open dialogs on macOS.
2021-02-15 00:37:45 +01:00
utelle
62a760c225 Make wxStandardPaths::IgnoreAppBuildSubDirs() more permissive
Add some common architecture-dependent directories to the list of
subdirectories that should be ignored.

For Win32 the directory name x86 is also common.

For Win64 the directory names Win64 and x86_64 are frequently in use,
too.

Closes https://github.com/wxWidgets/wxWidgets/pull/2233
2021-02-15 00:36:15 +01:00
Biswapriyo Nath
ae9b55712d Fix gcc warning when using configure --enable-permissive option
When configured with --enable-permissive option, add -fpermissive to C++
flags, not C flags, to avoid the gcc warning

command-line option '-fpermissive' is valid for C++/ObjC++ but not for C

when compiling C code.

Closes https://github.com/wxWidgets/wxWidgets/pull/2232
2021-02-14 19:45:16 +01:00
Vadim Zeitlin
d2c3c6a35b Merge branch 'msw_webview_edge4' of https://github.com/TcT2k/wxWidgets
Fix missing events for in-document navigation with wxWebViewEdge,
implement Find() for it and add wxEVT_WEBVIEW_FULLSCREEN_CHANGED for it
and wxGTK.

See https://github.com/wxWidgets/wxWidgets/pull/2227
2021-02-14 19:37:44 +01:00
Maarten Bent
2161e5270f Add check for expected line endings
Check that the EOL used in the file corresponds to the expected one for
its extension, in addition to checking that EOLs are consistent.

Closes https://github.com/wxWidgets/wxWidgets/pull/2228
2021-02-14 19:33:27 +01:00
Vadim Zeitlin
a6f6f5de27 Merge branch 'owner-combo' of https://github.com/MaartenBent/wxWidgets
Improve wxComboCtrl popup position and add DPI change handling.

See https://github.com/wxWidgets/wxWidgets/pull/2231
2021-02-14 19:27:13 +01:00
Vadim Zeitlin
d89d3b6851 Remove harmless unused variables warnings in non-debug build
Suppress a few -Wunused-variable and -Wunused-parameter warnings when
using --disable-debug.
2021-02-14 12:43:30 +01:00
Artur Wieczorek
70793777b6 Add missing constants
These constants are not defined in some non-MSVC environments.
2021-02-14 11:02:23 +01:00
Artur Wieczorek
cd6548c80e Use dedicated helper function to get window client area size 2021-02-14 00:13:48 +01:00
Artur Wieczorek
bce6c0911e Don't call obsolete method
ID2D1Factory::GetDesktopDpi() is reported as deprecated.
2021-02-14 00:12:47 +01:00
Artur Wieczorek
418ca872ec Fix reference count in wxD2DDeviceContextResourceHolder 2021-02-14 00:11:40 +01:00
Artur Wieczorek
0723da5168 Return proper Direct2D version if using ID2D1DeviceContext is enabled
ID2D1DeviceContext is available since Direct2D 1.1.
2021-02-14 00:10:37 +01:00
Artur Wieczorek
3c7493a289 Optimize converting native GDI+ bitmap to wxImage
Iterate through source pixels with pointer instead of array index.
2021-02-14 00:07:15 +01:00
Artur Wieczorek
2eb3a0460d Create native GDI+ representation of wxGraphicsBitmap directly from wxImage
Skip the conversion from wxImage to wxBitmap.
2021-02-14 00:05:30 +01:00
Artur Wieczorek
b86878c272 Cleanup Direct2D renderer
Move shared code to convert between wxImage amd IWICBitmap to the separate
methods.
2021-02-14 00:04:02 +01:00
Artur Wieczorek
a25e66d479 Create native D2D representation of wxGraphicsBitmap directly from wxImage
Skip the conversion from wxImage to wxBitmap.
2021-02-14 00:01:53 +01:00
Maarten Bent
e3491fc537 Create a wxDisplay directly from wxWindow 2021-02-13 21:11:18 +01:00
Maarten Bent
dbcfe56ae5 Make wxPenStyleComboBox in Combo sample DPI aware 2021-02-13 01:59:24 +01:00
Maarten Bent
1e17e8f500 Improve per-monitor DPI in wxVListBoxComboPopup
Adjust the default item height before the drawing size is calculated.
2021-02-13 01:59:23 +01:00
Maarten Bent
9365df2322 Improve wxPropertyGridEditor position with multiple displays 2021-02-13 01:59:23 +01:00
Maarten Bent
01d8c1bf8e Improve wxComboCtrl popup position with multiple displays 2021-02-13 01:59:21 +01:00
YuSanka
76354fbc8d Fixed wxComboCtrlBase::ShowPopup() to show a popup control in respect to the display of the provided window instead of primary display. See issue The "Show" Dropdown list goes out of the screen #2999 (https://github.com/prusa3d/prusaslicer/issues/2999) 2021-02-13 01:56:12 +01:00
Tobias Taschner
e09063186c Provide generic wxWebView::Find() implementation
This implementation is based on javascript 'window.find()'
https://developer.mozilla.org/en-US/docs/Web/API/Window/find
It's not standard, but implemented in most browsers.

It's not a complete implementation as it can't determine how
many search results can be found.

If the backends API provides a native find interface it should be
used instead of this implementation, but it's good fallback.
2021-02-10 23:55:18 +01:00
Tobias Taschner
5512089d5b Apply suggestions from code review
Co-authored-by: VZ <vz-github@zeitlins.org>
2021-02-09 23:35:01 +01:00
Tobias Taschner
a3f85e9cd5 Implement wxEVT_WEBVIEW_FULLSCREEN_CHANGED in GTK 2021-02-09 22:28:29 +01:00
Tobias Taschner
1aad333ab9 Don't send wxWebViewEdge cancel event on veto
When vetoing a wxEVT_WEBVIEW_NAVIGATING a wxEVT_WEBVIEW_ERROR was send
this was unexpected and unnecessary.
2021-02-09 22:28:29 +01:00
Tobias Taschner
f6a23a0431 Add wxEVT_WEBVIEW_FULLSCREEN_CHANGED event
The event is triggered by wxWebView when the page requests fullscreen view.

It's currently only implemented for the edge backend.
2021-02-09 22:28:29 +01:00
Maarten Bent
36ab71301c Add CI check for mixed line endings
Trigger workflow on all file changes.

Closes https://github.com/wxWidgets/wxWidgets/pull/2224
2021-02-09 22:17:13 +01:00
Tobias Taschner
693d946ffc DPI independent default size in WebView sample 2021-02-09 18:02:36 +01:00
Tobias Taschner
fea23a0be4 Handle in-document navigation with wxWebViewEdge
Send EVT_WEBVIEW_NAVIGATING, EVT_WEBVIEW_NAVIGATED and EVT_WEBVIEW_LOADED
when an anchor is clicked within a document. This kind of navigation
cannot be vetoed.

Fixes: #19074
2021-02-09 17:55:37 +01:00
Vadim Zeitlin
7a74c0872c Merge branch 'msw_webview_edge3' of https://github.com/TcT2k/wxWidgets
Make using wxWebViewEdge even simpler in CMake builds.

See https://github.com/wxWidgets/wxWidgets/pull/2223
2021-02-09 15:22:56 +01:00
Gary Allen
2da5129e13 Allow customizing all tool colours in wxRibbonMSWArtProvider
A number wxRIBBON_ART_TOOOL_XXX constants were not taken into account by
GetColour() and SetColour() for some reason, even though the class did
have the corresponding member colour variables.

Fix this by simply adding cases for them to the existing switch.

Closes https://github.com/wxWidgets/wxWidgets/pull/2225
2021-02-09 15:03:34 +01:00
Artur Wieczorek
279ee715fd Fix creating wxCairoBitmapData from wxImage with mask
If source wxImage has a mask we need to create ARGB32 Cairo surface (even
for RGB image) and based on the mask values set the alpha values to fully
transparent or retain original values.
2021-02-09 00:14:12 +01:00
Artur Wieczorek
c7667c16f8 Add tests of creating wxGraphicsBitmap from wxImage 2021-02-09 00:14:12 +01:00
Vadim Zeitlin
f2d5ff0121 Make wxNumValidator::m_value protected rather than private
This is useful for writing overridden TransferXXX() methods in the
derived validator classes, give a motivating example in the docs.

See https://github.com/wxWidgets/wxWidgets/pull/2222
2021-02-08 22:43:48 +01:00
Tobias Taschner
1ee05c54ed CMake: Download SDK when wxUSE_WEBVIEW_EDGE=ON
Automatically download the WebView2 SDK from nuget (official repo for the SDK)
when enabling wxUSE_WEBVIEW_EDGE to simplify usage.
Copying to 3rdparty/webview2 is still supported optionally.
2021-02-08 21:29:08 +01:00
New Pagodi
ab63e73920 Record active sockets in wxWebSessionCURL
If a wxWebRequestCURL object is canceled or deleted before its transfer
is complete, we need to manually close its active socket.  Record each
transfer’s active socket in wxWebSessionCURL::SocketCallback so can use
it if needed.

Previously, this was done using curl_easy_getinfo, but this required
some compile time and run time checks and could fail in some specific
cases. Recording the socket ourselves significantly simplifies the code
and should always work.
2021-02-08 12:32:32 -06:00
Artur Wieczorek
e74cc53775 Fix creating CGImage from wxBitmap
For internal purposes wxBitmap with mask should be converted to CGImage
with alpha values only (with no mask). This is i.a. needed to assure
compatibility of wxGraphicsBitmap format with other ports where these
bitmaps are in pure ARGB format.
2021-02-08 18:56:10 +01:00