Commit Graph

67814 Commits

Author SHA1 Message Date
Vadim Zeitlin
c2b0edefbd Also remove unused wxGrid wxEVT_ERASE_BACKGROUND handler
It is never used anyhow, as wxGrid is entirely covered by its children
windows.
2020-03-11 21:59:15 +01:00
Vadim Zeitlin
e671386d1a Use wxBG_STYLE_PAINT for wxGridWindow
This is more explicit, efficient and simpler than defining an empty
wxEVT_ERASE_BACKGROUND handler, which is not needed any longer.
2020-03-11 21:59:15 +01:00
Vadim Zeitlin
a5807b8fcf Remove unnecessary wxGrid::OnPaint()
This method was explicitly defined to do nothing, so just remove it.

No real changes.
2020-03-11 21:59:15 +01:00
Vadim Zeitlin
b08b697665 Merge branch 'grid-tests-refactor'
Refactor wxGrid tests to make it easier to run individual ones.

See https://github.com/wxWidgets/wxWidgets/pull/1759
2020-03-11 21:56:29 +01:00
Vadim Zeitlin
9203f685ee Check the expected WebView2 interface is defined
This results in a single intelligible error instead of a hundred of less
clear ones in case our code is compiled against an out of date SDK
version.

There doesn't seem to be any way to check the version directly, so just
check that the interface which hadn't been defined in the previous
version is defined now to check for it indirectly.
2020-03-11 19:26:39 +01:00
Vadim Zeitlin
702ba58590 Replace legacy CppUnit assertions with CATCH ones in grid test
Get rid of compatibility macros and use CATCH macros directly.

Also remove the now unnecessary casts.
2020-03-11 18:42:14 +01:00
Vadim Zeitlin
29d890867c Rewrite grid unit tests to use individual test cases
Instead of using a single test case, with multiple sections, generated
by CppUnit compatibility macros, use multiple independent test cases.

This makes it more convenient to run individual tests, simplifies the
code and allows to get rid of ugly "pseudo tests".
2020-03-11 18:41:16 +01:00
Vadim Zeitlin
8802657490 Add wxGrid::IsUsingNativeHeader()
It is convenient to have this function if only in order to be able to
call GetGridColHeader() safely, i.e. without triggering an assert if
native header is not being used.
2020-03-11 18:41:16 +01:00
Anton Triest
e1dcfc73d1 Don't show selected tree item when using multiple selection
This is appropriate for single selection, where the selected item is
also always the focused one, but not in the multiple selection case.

And wxMSW native version already behaves like this, so this makes the
generic one consistent with it.

Closes #18691.
2020-03-11 00:01:47 +01:00
Artur Wieczorek
7c6d816d4a Add support for private fonts in Direct2D renderer
Since it appears it's not possible to create DirectWrite fonts with
IDWriteGdiInterop::CreateFontFromLOGFONT() for fonts registered with
AddFontResourceEx() as private ones (with FR_PRIVATE flag), we need to
maintain a custom DirectWrite font collection and use it as source of
font data if call to CreateFontFromLOGFONT() fails. This collection
consists of IDWriteFontFileEnumerator and IDWriteFontCollectionLoader
objects which are seeded with font data based on the private fonts list
taken from wxGetPrivateFontFileNames().

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

Closes #18687.
2020-03-10 02:43:32 +01:00
Vadim Zeitlin
1e7c2c8254 Benchmark GetTextExtent() and GetPartialTextExtents()
Add very simple benchmark of these 2 functions to allow (roughly)
comparing the advantage of using one compared to the other.
2020-03-07 19:25:03 +01:00
Artur Wieczorek
c124a43fc1 Fix disposing private fonts in GDI+ renderer
PrivateFontCollection with installed private fonts has to be deleted when
GDI+ is still active, otherwise access violation exception is thrown.
2020-03-07 11:29:14 +01:00
Lauri Nurmi
bf6dae2151 Remove outdated and wrong comment about making functions const
The comment suggested Get{First,Next,Prev,Last}Line() should be changed
to const functions once compilers understand the 'mutable' keyword.

Hopefully now, after 19 years, compilers do understand the 'mutable'
keyword, but regardless of that the functions should not be const, as
they very clearly modify the state of the object that is observable
through the public interface.

Closes https://github.com/wxWidgets/wxWidgets/pull/1750
2020-03-06 01:08:19 +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
Dummy
64be790fb2 Add new wxTempFFile[OutputStream] classes to the overview
See #18673.
2020-03-06 00:57:15 +01:00
Vadim Zeitlin
28d738e44a Ensure that updating the file preserves its mode
Preserve the file mode when replacing it, this notably keeps
docs/doxygen/regen.sh executable when running misc/scripts/inc_year.

This uses GNU chmod --reference option which is not available on all
systems, but it shouldn't be a problem in practice.
2020-03-06 00:54:46 +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
Maarten Bent
811f916dae Reduce Xcode output in Travis CI CMake build
This should fix builds that terminate due to: job exceeded the maximum
log length and generally make Xcode build logs more readable and useful.

Closes https://github.com/wxWidgets/wxWidgets/pull/1747
2020-02-29 15:47:30 +01:00
oneeyeman1
bdceda3c6d Adjust columns widths when adding rows to wxOSX wxDataViewCtrl
Call AdjustAutosizedColumns(), just as it was already done when updating
or deleting the rows.

Closes https://github.com/wxWidgets/wxWidgets/pull/1746
2020-02-29 15:47:30 +01:00
PB
e22ab23216 Fix wxWindow::GetThemeEnabled() documentation
The method description was for some reason the
same as for ClearBackground().

Closes https://github.com/wxWidgets/wxWidgets/pull/1745
2020-02-29 15:43:21 +01:00
Lauri Nurmi
109fd955a9 Fix wrong indentation in OSX wxPowerResource code
No real changes, just reindent power.mm correctly.

Closes https://github.com/wxWidgets/wxWidgets/pull/1744
2020-02-29 15:41:29 +01:00
Tobias Taschner
613687ecb5 Updated wxWebViewEdge for SDK 0.9.430
This first beta release of the WebView2 SDK has many identifiers
renamed and webview interfaces split to Host and WebView.

Closes https://github.com/wxWidgets/wxWidgets/pull/1743
2020-02-29 15:40:45 +01:00
Kvaz1r
acff8466a7 Hide page removed from wxAuiNotebook
It doesn't make sense to leave the page shown, and overlapping the
remaining pages, after removing it.

Closes https://github.com/wxWidgets/wxWidgets/pull/1742
2020-02-29 15:38:50 +01:00
Vadim Zeitlin
fce84f7bd0 Merge branch 'temp-ffile'
Add wxTempFFile class.

Closes #18673.

See https://github.com/wxWidgets/wxWidgets/pull/1739
2020-02-23 01:46:51 +01:00
Anton Triest
3a9b5001ce Fix size of wxGenericTreeCtrl buttons when using high DPI
Scale the image size by the DPI factor.

Closes #18674.
2020-02-23 01:45:54 +01:00
Vadim Zeitlin
1c6ab1aa65 Document wxTemp[F]File default ctors
For some reason default ctor wasn't documented, so add it.
2020-02-21 14:57:28 +01:00
Vadim Zeitlin
ebc0f056c0 Make wxTemp[F]File classes non default ctor explicit
There should really be no reason to ever implicitly convert a string to
a file.
2020-02-21 14:56:06 +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
Dummy
8c574e5c2b Fix documentation of wxFile::Write() default conversion value
It's wxConvAuto, not wxConvUTF8.

Closes #18672.
2020-02-21 14:30:43 +01:00
Paul Cornett
05d19797a5 Revert to using our own drag-move code for wxGTK wxMiniFrame with non-Wayland backends
At least one WM (KDE's KWin) does not generate X11 configure events when dragging
a window using gtk_window_begin_move_drag(). We need the configure events so we
can generate wxMoveEvent, which AUI needs in order to re-attach a floating pane.
This is functionally a revert of b8789b9d6f for backends other than Wayland.
See #18372 #18669
2020-02-19 20:26:08 -08:00
Steve Browne
e4dcc4850c Fix wxStaticBox appearance in high DPI in wxMSW
wxStaticBox using custom foreground color was drawing text in wrong
place when using DPI scaling due to scaling the various offsets in our
code, even though Windows itself doesn't do it.

Fix this by following what Windows does and not scaling anything.

Closes https://github.com/wxWidgets/wxWidgets/pull/1738
2020-02-19 22:15:45 +01:00
Vadim Zeitlin
eb7b84f781 Fix build of plugin libraries after recent *FLAGS changes
Since ec091c9f2b building plugin libraries
such as webkit2_ext and sound_sdl was broken, as they didn't use the
correct CPPFLAGS any longer.

Fix this by explicitly inheriting from "common_settings" template which
adds the use of WX_CPPFLAGS etc now.
2020-02-19 22:11:20 +01:00
Vadim Zeitlin
108e18ee24 Merge branch 'msw-univ-fix'
Build fixes for wxUniv/MSW.

Closes #18670.

See https://github.com/wxWidgets/wxWidgets/pull/1736
2020-02-19 14:14:40 +01:00
Vadim Zeitlin
89229b7090 Move src/msw/ole/access.cpp to low-level MSW sources
This file should be used even in wxUniv builds.

This fixes linking of wxCore when using wxUniv/MSW.
2020-02-17 19:49:38 +01:00
Vadim Zeitlin
80141760e8 Avoid harmless unused parameter warning in wxUniv build
Just add wxUnusedVar() to suppress it.
2020-02-17 19:49:35 +01:00
Vadim Zeitlin
3a15e9f943 Fix cast in wxWindowMSW code in wxUniv build
Cast "this" to wxWindowMSW, which is always its correct type, even in
wxUniv builds.

Closes #18670.
2020-02-17 19:49:24 +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
482426f4fc Use correct toolkit name in wxUniv error message in configure
$TOOLKIT refers to the underlying toolkit, while the error message
should really indicate that the missing functionality is in wxUniv.
2020-02-17 19:29:26 +01:00
Vadim Zeitlin
c6f4c5b4c1 Merge branch 'cmake-output-name' of https://github.com/MaartenBent/wxWidgets
CMake: Improve output filenames, add flavour option.

See https://github.com/wxWidgets/wxWidgets/pull/1735
2020-02-17 15:58:38 +01:00
Eduard Ereza Martínez
51d73c52c4 Bring Catalan translation up to date 2020-02-17 15:44:50 +01:00
Maarten Bent
016061311a CMake: Add wxBUILD_FLAVOUR option
It is similar to --with-flavour option from configure.

Mark some build options as advanced.
2020-02-16 21:33:44 +01:00
Maarten Bent
4196c67b72 CMake: Create wx-config for MinGW builds
Use the same output folder for setup.h and wx-config as configure does.
2020-02-16 16:35:24 +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
Maarten Bent
10abcc0f78 CMake: Improve consistency in names of output files
Match the filenames used by configure (gcc, clang) and the visual studio
solutions. The biggest difference is that wxARCH_SUFFIX (e.g. _64) is not
included in the dll names, and the position of the version number in the
libraries.
2020-02-12 22:30:32 +01:00
Artur Wieczorek
5bc020e844 Implement getters for members of wxPGWindowList
There is no reason to expose wxPGWindowList member variables. They should
be set in ctors and retrieved with getters.
2020-02-12 17:09:25 +01:00
Artur Wieczorek
489cc1cb36 Fix drawing empty wxPropertyGrid
If wxPG doesn't contain any visible items it's entire area should
be erased so we need to return -1 as a last drawn line index to ensure
that painted area will be clared from 0 y-coordinate.

Closes #18666.
2020-02-12 17:03:58 +01:00
Vadim Zeitlin
ee8009af64 Merge branch 'configure-user-flags'
Fixes for handling of {C,CPP,CXX,LD}FLAGS in configure, notably allowing
them to be defined when running make.

See https://github.com/wxWidgets/wxWidgets/pull/1722
2020-02-12 15:18:50 +01:00