Commit Graph

70053 Commits

Author SHA1 Message Date
Vadim Zeitlin
0d3b04013f Merge branch 'cmake-benchmarks' of https://github.com/MaartenBent/wxWidgets
Add support for building benchmarks with CMake.

See https://github.com/wxWidgets/wxWidgets/pull/2220
2021-02-08 12:46:18 +01:00
Vadim Zeitlin
d6b8ed1e3c Merge branch '4238-fix-grid-multicell-editing' of https://github.com/discnl/wxWidgets
Fix grid multicell integrity after inserting/deleting rows/columns.

See https://github.com/wxWidgets/wxWidgets/pull/2192
2021-02-08 12:43:44 +01:00
Vadim Zeitlin
3978a0df0e Check stream error in LastRead() unit test too
It doesn't make sense to call LastRead() if an error happened while
reading, so check if it did.
2021-02-08 12:42:54 +01:00
Dimitri Schoolwerth
cc239f36cc Remove doc warning regarding wxGrid multicells and deletion
Since the parent commit multicells work correctly when deleting (and
inserting) rows (or columns) intersecting with them and the comment
warning about it resulting in a crash is no longer needed.

This reverts commit 4d8e8355b4 (Added a warning about multi-cells in
wxGrid::DeleteRows() docs., 2011-12-25).

See #4238.
2021-02-07 22:59:02 +01:00
Dimitri Schoolwerth
3123c76394 Fix grid multicell integrity after inserting/deleting rows/columns
Deal with possible size changes of a multicell (both main and inside
cells) when inserting or deleting rows or columns and, in the case of
deletion only, the disappearing of a multicell's main cell.

Closes #4238.
2021-02-07 22:59:02 +01:00
Dimitri Schoolwerth
d282ccf696 Add grid tests for multicell integrity after insertions/deletions
Multicells currently don't get any special treatment when inserting
or deleting rows or columns so neither a multicell's main size nor
inside cells' sizes (which are offsets to the main cell) are updated.
Most tests fail and will be fixed by the next commit.

See #4238.
2021-02-07 22:59:02 +01:00
Dimitri Schoolwerth
04a3dda5c5 Refactor common wxGridCellAttrData::UpdateAttrRows/Cols code
Move two symmetrical functions into one and clean up, preparing it for
multicell support.
2021-02-07 22:59:02 +01:00
Dimitri Schoolwerth
30de99470a Add multiple insertion support to grid sample
Only single insertions of rows and columns were supported, allow N
insertions provided the row/column selection is consecutive.
Do the same for deletions: while deleting selected rows and columns
already works it's useful to test deleting multiple positions at once.
2021-02-07 22:59:02 +01:00
Dimitri Schoolwerth
058192dde8 Add a few accelerators to menu items of grid sample
Add convenience accelerators for insert and delete menu options.
2021-02-07 22:59:02 +01:00
Dimitri Schoolwerth
bc7e5ffc56 Add basic tests for wxGrid cell attribute presence and count
Do some simple sanity checks with attributes, particularly overwriting
a cell with NULL attribute (as was already checked very usefully in
the grid sample for ref count reasons), and their total count in a grid
when inserting and deleting rows and columns.

While the tests are not particularly useful for the next intended grid
change, they do contain some functions that also work for upcoming tests
so these (harmless) tests are included as well.
2021-02-07 22:59:02 +01:00
Maarten Bent
b3b5cde7f5 CMake: Mark some build options as advanced 2021-02-07 20:34:42 +01:00
Maarten Bent
9585e08365 CMake: Add benchmarks
Put each benchmark application in a sub-directory instead of specifying all in one
file, because cotire cannot create PCH targets for the same file twice (bench.cpp).
2021-02-07 20:34:42 +01:00
Maarten Bent
7b79423470 CMake: Add argument to specify console app that uses gui libraries 2021-02-07 20:11:56 +01:00
Artur Wieczorek
414f211b8a Add tests of wxGraphicsBitmap
Add tests of creating wxGraphicsBitmap from specific to wxMSW and wxOSX
32-bit RGB wxBitmaps (non-alpha).
2021-02-06 21:43:47 +01:00
Artur Wieczorek
5b52a8646b Use IWICBitmap to cache bitmap in wxD2DBitmapResourceHolder (Direct2D)
IWICBitmap is more native than wxBitmap so it should better represent
the internal state of D2DBitmap.
2021-02-06 21:43:46 +01:00
Paul Cornett
28d1ddec90 Set layout direction for wxClientDC
Should have been part of
62c119fa1e (Fix RTL mirroring for wxClientDC, etc with GTK3, 2021-02-06)
2021-02-06 12:31:14 -08:00
AliKet
62ae887159 minor correction to widgets sample to work correctly in RTL layout 2021-02-06 08:39:01 -08:00
Paul Cornett
62c119fa1e Fix RTL mirroring for wxClientDC, etc with GTK3
The changes to the Cairo context must be done before wxGC::CreateFromNative()
is called, otherwise they will be overwritten
2021-02-06 08:28:13 -08:00
Vadim Zeitlin
67fc7c5508 Merge branch 'remove-setup0.h'
Drop wx/setup0.h files hack and just use wx/setup.h.

See https://github.com/wxWidgets/wxWidgets/pull/2205
2021-02-06 14:26:25 +01:00
Vadim Zeitlin
6e145f8f9f Merge branch 'msw_edge_fixed' of https://github.com/TcT2k/wxWidgets
Allow using a fixed Edge version with wxWebViewEdge and other
wxWebView-related improvements and refactoring.

See https://github.com/wxWidgets/wxWidgets/pull/2212
2021-02-06 14:22:42 +01:00
Vadim Zeitlin
7cca64bb0e Merge branch 'i18n-enh' of https://github.com/lanurmi/wxWidgets
Keep strings in wxstd.pot in the natural, but the same under all
platforms, order.

See https://github.com/wxWidgets/wxWidgets/pull/2214
2021-02-06 14:21:25 +01:00
Artur Wieczorek
27141e6a7c Fix test of wxImage::InitAlpha() 2021-02-06 01:37:05 +01:00
Artur Wieczorek
1adc38c42b Add tests of wxImage::InitAlpha() 2021-02-06 01:07:32 +01:00
Artur Wieczorek
46302896e1 Fix caching source bitmap in wxD2DBitmapResourceHolder (Direct2D)
Because cached wxBitmap is used only to help in representing native D2D
bitmap in some operations it shouldn't be exposed directly and dedicated
methods should be implemented instead.
2021-02-06 00:36:45 +01:00
Artur Wieczorek
8c599408ab Fix creating GDI+ Bitmap from wxBitmap having both alpha channel and mask
If source wxBitmap has both alpha channel and mask we have to apply mask
to the target GDI+ Bitmap on our own by blending its alpha values with
mask. For non-masked pixels alpha channel values will remain intact and
for masked pixels they will be set to the transparent value (0).
2021-02-05 23:55:58 +01:00
Artur Wieczorek
20fc422550 Fix creating sub-bitmap of wxGraphicsBitmap (GDI+)
Retrieved sub-bitmap should have the same pixel format like
the source bitmap.
2021-02-05 23:53:28 +01:00
Artur Wieczorek
e73cb85246 Add tests of wxGraphicsBitmap 2021-02-05 23:52:29 +01:00
Artur Wieczorek
de7115b9ed Added missing references to some dynamically loaded Cairo API's 2021-02-05 23:05:50 +01:00
Artur Wieczorek
cda4e94a7b Add to ImageRGBMatcher ability to check alpha values in wxImage tests 2021-02-05 23:04:55 +01:00
Artur Wieczorek
c8a47a4313 Fix comparing wxImages in tests
Iterate through pixels instead of individual RGB components to report
proper coordinates of found mismatch.
2021-02-05 23:03:59 +01:00
Tobias Taschner
d17e8978a6 Make wxWebView::RunScript() const 2021-02-05 22:18:31 +01:00
Vadim Zeitlin
e88b55bfe1 Apply suggestions from code review 2021-02-05 22:18:30 +01:00
Tobias Taschner
d11ab7f751 Skip some unsupported tests with wxWebViewEdge 2021-02-05 22:18:30 +01:00
Tobias Taschner
2e94551f6f Clear string in wxJSON::DecodeString() to avoid unintentional appending 2021-02-05 22:18:30 +01:00
Tobias Taschner
788bef2cf2 Select Edge as the default backend on MSW
If enabled and available at runtime use the Edge backend.
This is probably more useful for most users.
2021-02-05 22:18:29 +01:00
Tobias Taschner
b351e7762d Move common wxWebView code to base class
Removes duplicate code in the various webview backends
2021-02-05 22:18:29 +01:00
Tobias Taschner
0d82348328 Add wxWebView::GetBackendVersionInfo()
Allows to get the WebView backend version if available
Currently implemented for IE, Edge and webkit2.
2021-02-05 22:18:28 +01:00
Tobias Taschner
489afb3336 Allow using a fixed version with wxWebViewEdge
A fixed version may be distributed with the application
and wxWebViewEdge::MSWSetBrowserExecutableDir() allows
it's usage with wxWebViewEdge.
2021-02-05 22:18:28 +01:00
Vadim Zeitlin
49fcd34335 Merge branch 'rerun-test-on-asan-failure'
Try to work around a spurious failure in ASAN builds on GitHub Actions.

See https://github.com/wxWidgets/wxWidgets/pull/2217
2021-02-05 21:38:42 +01:00
Vadim Zeitlin
a8d869f2c8 Merge branch 'docs/avoid-recommending-wxNewId' of https://github.com/catalinr/wxWidgets
Fixes for wxNewId() documentation.

See https://github.com/wxWidgets/wxWidgets/pull/2211
2021-02-05 21:38:16 +01:00
Vadim Zeitlin
b90cca5103 Fix ignoring docs changes in GitHub Actions CI builds
The path expression must match the full path, not just be its prefix.

Co-Authored-By: PB <PBfordev@gmail.com>
2021-02-05 21:35:51 +01:00
Vadim Zeitlin
211cde11d4 Rerun the test if LeakSanitizer crashed while running it
This crash (see https://github.com/google/sanitizers/issues/1353)
happens sporadically but regularly enough to be annoying, so try to work
around it by rerunning the test and hope that it doesn't happen twice in
a row.
2021-02-05 19:14:06 +01:00
Vadim Zeitlin
53ece3c2ed Don't use pushd/popd unnecessarily
Each step executes in its own shell, so it's not necessary to restore
the previous working directory and a simple "cd" would do just fine but,
in fact, we don't even need this as we can just set the working
directory at the step level.
2021-02-05 19:07:28 +01:00
Vadim Zeitlin
1aae6e26ca Remove useless echo from GitHub CI script
"Testing" is already shown as the step title.
2021-02-05 18:56:27 +01:00
Dan Gudmundsson
93160b9667 Make non-bundled apps work on recent macOS versions
Currently non-bundled apps don't work on Catalina and Big Sur and what's
worse is that old the code makes it impossible to make it work in user
code.

Remove the old workaround, and replace it with an alternative one, which
seems to work under all supported macOS versions and is also used by
Tcl/Tk.

Closes https://github.com/wxWidgets/wxWidgets/pull/2216
2021-02-05 18:02:25 +01:00
Gary Allen
f4172b0b46 Allow overriding wxMenu::MSWCommand() in wxMSW
This can be useful to implement custom handling of WM_COMMAND for the
popup menus, so make this function virtual and document it to indicate
that it is now part of the public API.

Closes https://github.com/wxWidgets/wxWidgets/pull/2170
2021-02-05 12:04:25 +01:00
Lauri Nurmi
232d1c1156 Feed sorted output to xargs when generating wxstd.pot
The `find' command isn't generally guaranteed to output filenames in
particular order, and without sorting, the resulting .pot from identical
input files could have its source line comment entries in different order
depending on what OS and filesystem it was generated on.

Co-authored-by: VZ <vz-github@zeitlins.org>
2021-02-05 00:50:33 +02:00
Lauri Nurmi
87c56c7c1d Do not sort content of generated POT files alphabetically
Sorting is discouraged even by the GNU gettext documentation:
https://www.gnu.org/software/gettext/manual/html_node/xgettext-Invocation.html#Output-details

Alphabetical order means related messages that are close to each other
in a source file are likely to be far far away from each other in the .po
file that a translator works on.

Sorting was added in ea8849aaf6 (updated to use msgmerge, 2000-03-07)
2021-02-04 23:01:07 +02:00
catalinr
bfa4dd01d7 Link wxNewId() with wxRegisterId() in the docs 2021-02-03 12:20:07 +02:00
catalinr
baabb37f8f Avoid recommending deprecated wxNewId in the docs 2021-02-03 12:10:37 +02:00