Commit Graph

69598 Commits

Author SHA1 Message Date
Vadim Zeitlin
5ae2a8ebb8 Simplify API for extending wxListCtrl background display
Replace SetListRulesAlternateColourOnBlank() taking 2 arguments, with
the second of them being used only when the first one is true, with a
simpler but still sufficient ExtendRulesAndAlternateColour(bool).

Make the new method virtual and define it as doing nothing in
wxListCtrlBase class, so that it's still available, even if currently
not implemented, in wxMSW.

Also simplify the implementation, fix style problems and other minor
improvements.
2020-11-09 00:37:55 +01:00
Marcos
584d1ae47d Allow showing rules and background on entire wxListCtrl window
Previously they were both limited to the part occupied by the items
only, add a new method allowing to extend them to the whole client
window area.

See https://github.com/wxWidgets/wxWidgets/pull/2106
2020-11-09 00:07:53 +01:00
Vadim Zeitlin
1cf7c47934 Add more wxRound() compatibility overloads and improve docs
Make the overloads added for compatibility available only when
WXWIN_COMPATIBILITY_3_0 is on and add two more of them, to cover all the
interer types (except char but, honestly, who rounds those?).

Also improve the documentation and make it clear that this function is
not needed at all in the new code.

Closes https://github.com/wxWidgets/wxWidgets/pull/2111
2020-11-08 23:19:28 +01:00
Vadim Zeitlin
52138fc1f1 Merge branch 'webview_edge_improvements' of https://github.com/TcT2k/wxWidgets
Various wxWebView Edge improvements.

See https://github.com/wxWidgets/wxWidgets/pull/2110
2020-11-06 14:33:05 +01:00
Tobias Taschner
46d123b953 WebViewEdge: Allow edge webview2 installation during runtime
Check if edge webview runtime is available in the call to
wxWebView::IsBackendAvailable() instead of only doing it during
process initialization. This allows an application to install
the Edge WebView2 Runtime during runtime and use the edge webview
afterwards without restarting the process.
2020-11-06 09:19:17 +01:00
Tobias Taschner
2d9c08e0cc WebViewEdge: Forward window visibility to SDK
Tell the SDK controller if the control is shown or hidden.
This allows creating a hidden webview which will be shown later
and might fix other potential issues.
2020-11-06 09:19:12 +01:00
Tobias Taschner
412de05407 Allow settings modification before WebView Edge init
Setting EnableContextMenu and EnableAccessToDevTools where
ignored before the webview loaded content. This would often
be set directly after creation and work like this with other
backends.
2020-11-06 09:19:11 +01:00
Paul Cornett
c2e5f3520a Add a wxRound() overload for int
To avoid breaking any dumb code.
And add a long double overload as well, because pigs might fly.
2020-11-05 09:06:12 -08:00
Vadim Zeitlin
8d4b6ac8b8 Merge branch 'date-picker-blank'
Allow customizing text displayed in wxDatePickerCtrl without valid
value, notably not displaying anything in it in this case.

See https://github.com/wxWidgets/wxWidgets/pull/2109
2020-11-05 16:27:13 +01:00
Vadim Zeitlin
e550b0e46d Merge branch 'grid-date-format'
Fixes for using custom wxGrid date format.

See https://github.com/wxWidgets/wxWidgets/pull/2108

Closes #18876.
2020-11-05 16:12:28 +01:00
Vadim Zeitlin
9bc6c3c234 Add support for wxDatePickerCtrl::SetNullText() to XRC
Recognize null-text element.
2020-11-05 14:22:05 +01:00
Vadim Zeitlin
02f1ee3987 Add wxDateTimePickerCtrl::SetNullText()
This allows to customize the string shown when there is no valid date
under MSW (only, for now) and can be notably used to suppress the
unused date completely, which can be useful to lighten up the display
when there are many controls.

Add UI elements to the widgets sample allowing to test the new function.
2020-11-05 14:22:05 +01:00
Vadim Zeitlin
6d4ce92c20 Fix assert failures with wxDP_ALLOWNONE in the widgets sample
DatePickerWidgetsPage::OnDateChanged() must check whether the wxDateTime
value received from the control or event is valid before formatting it,
as this may not be the case when wxDP_ALLOWNONE is on, and trying to
format an invalid date results in assertion failures (and random junk in
the output).
2020-11-05 00:34:10 +01:00
Vadim Zeitlin
8a64b6acea Fix inheritance hierarchy of wxTimePickerCtrlGeneric
This class must not derive from the native wxDatePickerCtrl, as it
doesn't make much sense and resulted in the need for an ugly hack with
either overriding unused and inapplicable pure virtual methods in this
class itself, as was originally done in 569c7d8ccb (Add wxTimePickerCtrl
class., 2011-09-29) when it was introduced, or not making these methods
pure virtual in the first place, as was done in d0da5061ce (Dirty hack
to allow generic wxDatePickerCtrl to compile under MSW., 2011-10-20),
but didn't really fix the problem.

Do fix it now by using different hierarchies for the native and generic
classes. The main disadvantage of doing it is that there is no common
base class for wxTimePickerCtrl and wxTimePickerCtrlGeneric providing
SetTime() and GetTime() methods any more, but this seems like a
relatively small price to pay because real applications won't be using
these two classes simultaneously, as the calendar sample does, anyhow.
2020-11-05 00:34:10 +01:00
Andy Robinson
c2a488ca42 Fix scroll position after following a link in wxHtmlWindow
When not using an anchor, new page must be shown starting from its
origin in the top-left corner, instead of remaining at the current
scroll position, as it did before.

Closes #18922.
2020-11-04 17:44:02 +01:00
Vadim Zeitlin
ce0f10c377 Get dates directly from table in wxGridCellDateEditor if possible
Unlike wxGridCellDateRenderer, which already did it, the editor class
always got the cell value from the table as a string, even if the table
supported returning the dates directly.

Fix this by using the same code in the editor as in the renderer, which
required a further refactoring in order to make it reusable: the helper
TryParseDate() was replaced with TryGetValueAsDate() and DateParseParams
was added to allow overriding the arguments passed to it in the
overridden wxGridCellDateTimeRenderer::GetDateParseParams().
2020-11-03 17:30:54 +01:00
Vadim Zeitlin
9311dc8ffb Remove redundant wxGridCellDateTimeRenderer::SetParameters() docs
This function is inherited from wxGridCellDateRenderer since the changes
of 659ab78c6d (Add support for editing dates (without time) to wxGrid,
2018-09-06), so there is no need to document it separately.
2020-11-03 03:14:43 +01:00
Vadim Zeitlin
cced297b26 Remove unused wxGridCellDateTimeRenderer::m_dateDef
This has apparently never been really used ever since it was added in
d10f4bf950 (applied tons of wxGrid patches, 2001-05-27).
2020-11-03 03:09:17 +01:00
Vadim Zeitlin
705006615f Add support for date format to wxGridCellDateEditor too
This is needed to allow editing the cells using wxGridCellDateRenderer
with a custom format, otherwise the editor might parse the contents of
the cell differently from what is actually shown.

In particular, this ensures that using "date:%d.%m.%y" (or any other
custom format) as "cell type" works correctly, which wasn't the case
before.
2020-11-03 02:57:22 +01:00
Vadim Zeitlin
56ec476a3a Refactor wxGridCellDateRenderer::Parse() to make it reusable
No real changes, just create TryParseDate() helper in order to allow
reusing it from wxGridCellDateEditor too in the upcoming commit.
2020-11-03 02:50:31 +01:00
Vadim Zeitlin
eda11b8755 Use specified format in wxGridCellDateRenderer if possible
For the tables that store dates as strings, we must use the specified
format for interpreting the table data, as otherwise we could confuse
the user by showing it incorrectly: for example, if "%d.%m.%y" format is
used, "01.03.02" should really mean 2002-03-01, but it was parsed as
0002-01-03 by ParseDate() which had no choice but to guess the order of
data components.
2020-11-03 02:37:02 +01:00
Vadim Zeitlin
bd8c74f368 Fix positioning of bottom-aligned checkboxes in wxGrid
This fixes a bug due to a typo in ab02d36e10 (Account for vertical
alignment in wxGetGridCheckBoxRect() too, 2019-11-22) which used the
vertical component of a wrong object and so didn't actually offset the
checkbox by its size from the bottom of the cell rectangle, as it should
have done.

Closes #18907.
2020-11-02 00:55:47 +01:00
Vadim Zeitlin
2b0dd6dfe3 Don't claim that Enter sends wxEVT_SPINCTRLDOUBLE in wxSpinCtrl
This isn't actually true and doesn't seem to make much sense, so simply
remove the fragment claiming this from the documentation.

Closes #18900.
2020-11-02 00:40:15 +01:00
Vadim Zeitlin
a8efad16f1 Fix size of toolbar realized before being set in wxMSW
Use the best size and not the actual size of the toolbar in
wxFrame::PositionToolBar(), called from SetToolBar(), as for a toolbar
which had been previously realized its size could have been set to the
entire client area size -- as is normal for any non-special child
window, and before being associated with the frame using SetToolBar() a
toolbar is not special too.

Using the current size was probably a workaround for GetBestSize() not
returning correct results in wxMSW and so shouldn't be needed any longer
after the changes of 1a79610361 (Rewrite wxToolBar resizing logic in
wxMSW, 2019-02-24) and now just results in using wrong size for toolbars
not created using CreateToolBar().

Closes #18954.
2020-11-01 23:12:24 +01:00
Vadim Zeitlin
683b71e642 Merge branch 'grid-select-none'
Add wxGrid::wxGridSelectNone selection mode.

Closes https://github.com/wxWidgets/wxWidgets/pull/2100
2020-10-31 17:16:34 +01:00
Vadim Zeitlin
f765c06f1a Show new wxGridSelectNone mode in the grid sample
Allow testing the new selection mode interactively.
2020-10-31 17:13:06 +01:00
Gary Allen
095d1e317c Add wxGridSelectNone selection mode
In this mode the user can't select any cells at all in wxGrid.
2020-10-31 17:01:36 +01:00
Vadim Zeitlin
a64348f3e4 Merge branch 'misc-changes' of https://github.com/MaartenBent/wxWidgets
Update CMake with recent changes, remove more Borland checks.

See https://github.com/wxWidgets/wxWidgets/pull/2098
2020-10-31 16:30:29 +01:00
Vadim Zeitlin
312a760029 Merge branch 'dvc-fix-item-added'
Fix adding items to generic wxDVC again.

See https://github.com/wxWidgets/wxWidgets/pull/2095
2020-10-31 16:29:02 +01:00
Paul Cornett
50c7b4278f Ignore invalid file notification events
See #18953
2020-10-30 10:12:55 -07:00
Paul Cornett
d59b68c9eb Add some additional values to wxImage::RGBtoHSV test 2020-10-30 09:36:37 -07:00
Stefan Brüns
c3873ea313 Use proper rounding when casting RGB values to int
When doing an RGB->HSV->RGB roundtrip, the original value should be
restored (HSV, being double, has sufficient precision).

For e.g. `RGBValue(1,2,3)`, the equivalent resulting code for blue is
`trunc(int * 255.0 / 255.0)` (cast from double to int truncates).
At least with x87 FP math and its immediate 80bit extended precision
the resulting value is ~trunc(2.9999..), i.e. 2, similar problems may
exist on other architectures with other values.

Using proper rounding avoids the error magnification.

Closes https://github.com/wxWidgets/wxWidgets/pull/2078
2020-10-30 09:32:32 -07:00
Paul Cornett
a3f14b2fc2 Remove redundant code
Should have been done in
533bedbf30 (fix aui crash related to SF bug 1531361, 2006-10-31)
2020-10-29 06:13:29 -07:00
Paul Cornett
0cae4399bd Make awk script compatible with default Solaris /usr/bin/awk
See #18950
2020-10-25 23:31:47 -07:00
Igor Ivanov
90bfddef2d wxWidgetCocoaImpl::SetDropTarget fix. (#2102) 2020-10-25 11:19:22 +01:00
Paul Cornett
0a70d3241d Fix Solaris compiler errors "Cannot cast from void* to integer of smaller size" 2020-10-23 19:42:24 -07:00
Paul Cornett
ba4df6d996 Build fixes for GTK < 2.14 2020-10-23 09:35:37 -07:00
Paul Cornett
21d5f3f4a1 Avoid crash if wxMessageBox() is called before GTK is initialized
See https://github.com/wxWidgets/wxWidgets/pull/2099
2020-10-23 09:20:08 -07:00
Robin Dunn
15f1f7a9e5 Merge pull request #2088 from wxWidgets/fix-image-bitmap-mask
Use the original image to check for a mask
2020-10-22 14:03:49 -07:00
Maarten Bent
6a579ce34d Include windows.h in native dialog sample resource file
Get rid of compiler specific include.
2020-10-21 01:01:26 +02:00
Maarten Bent
c2819c8d38 Update indentation in native dialog sample 2020-10-21 00:57:42 +02:00
Maarten Bent
a942dc8a76 Remove hard-coded size and position in native dialog sample 2020-10-21 00:54:28 +02:00
Maarten Bent
1a2d81354e Don't call SetupColours when loading a native dialog
It makes everything grey.
2020-10-21 00:52:20 +02:00
Maarten Bent
badf0eb64e CMake: add image test files 2020-10-20 21:11:17 +02:00
Maarten Bent
b1653024d6 CMake: remove HAVE_VARIADIC_MACROS check 2020-10-20 20:39:05 +02:00
Maarten Bent
1d6a6b934f Remove a borland check 2020-10-20 20:38:30 +02:00
Maarten Bent
2e56f1a8d3 Remove more BCC-specific hdrstop pragma 2020-10-20 20:38:01 +02:00
Vadim Zeitlin
a3ea09d3e3 Revert "Increase LSAN verbosity in Travis CI builds"
This reverts commit 7ec39330d2 because
enabling verbose ASAN output results in too much output for Travis to
handle (and, to be fair, for it to be useful).
2020-10-20 18:41:40 +02:00
Vadim Zeitlin
7ec39330d2 Increase LSAN verbosity in Travis CI builds
Its own error message recommends using these options if it fails (as it
did in one of the builds with an irreproducible crash), so try doing it.
2020-10-20 15:57:09 +02:00
Bill Su
7e9afad53a Add real support for monochrome bitmaps to wxMSW
In order to be able to use monochrome bitmaps as wxMask, improve support
for them in various ways:

1. Implement loading and saving of monochrome BMP files.
2. Add wxMonoPixelData for direct access to monochrome bitmap pixels.
3. Implement conversion from wxImage to monochrome wxBitmap.

Closes https://github.com/wxWidgets/wxWidgets/pull/2032
2020-10-20 15:52:55 +02:00