Commit Graph

67175 Commits

Author SHA1 Message Date
PB
aa3e812d42 Add wxVariantDataSafeArray reference to wxOleConvertVariantFlags docs 2019-10-22 20:52:18 +02:00
PB
4f7a3fbbbd Restructure OLE-related doxygen documentation
All OLE-related classes and enums were described
in interface header msw/ole/automatn.h which led
to incorrectly listed include files in the generated
documentation for those classes and enum that
were actually declared in different include header files.

The documentation in the interface files has now been
split into files with names matching the actual include files.

Closes #18536
2019-10-22 20:46:13 +02:00
Vadim Zeitlin
dddbc1bafc Document that size of shaped windows can't be changed
Shaped windows have the size defined by the shape and it's not really
clear what calling SetSize() on them should do -- so just document that
it's not supposed to work.

Closes #9794.
2019-10-22 19:37:32 +02:00
Vadim Zeitlin
ed57a9ab7b Fix wxSlider::SetSize(-1, -1, -1, -1) under Mac
Instead of doing basically nothing, this call completely mislaid out the
control as -1 were used used literally instead of meaning "use the
current geometry", as they're supposed to. Fix this by handling
arguments with the value of -1 specially.

Such call was done by wxCompositeWindow::SetLayoutDirection() used by
the widgets sample and explained why the slider couldn't be seen when
switching to its page in this sample.

Closes #18442.
2019-10-22 19:28:02 +02:00
Vadim Zeitlin
8587a96d70 Remove unused member variable from listctrl sample
No real changes, just remove a stray declaration.
2019-10-22 18:49:32 +02:00
Vadim Zeitlin
3d488ef8a3 Replace INFO() with WARN() in wxDateTime::UNow() unit test
Another desperate attempt to understand how are failures such as the one
at https://travis-ci.org/wxWidgets/wxWidgets/jobs/601043830 possible.
2019-10-22 15:12:39 +02:00
Vadim Zeitlin
5d8fdcb874 Refactor common code into reusable MacGetPrinterName() function
No real changes, just add a simple helper function instead of
duplicating it in 2 different places.

This also provides a unique place to write the comment explaining why
PMPrinterGetID() is being used instead of PMPrinterGetName().

See #16774.
2019-10-22 02:55:49 +02:00
cosminp
7fa0074e1d Use unique printer ID as its name under macOS
Apparently, the user-readable name retrieved by PMPrinterGetName() is
not necessarily unique when multiple printers are available, so use
PMPrinterGetID() which is guaranteed to return a unique string.

Closes #16774.
2019-10-22 02:51:34 +02:00
Stefan Csomor
235e61c311 Implement macOS-specific wxDataViewCheckIconTextRenderer
This implementation suffers at least from 2 problems:

1. It doesn't support icons at all.
2. It toggles the checkbox when clicking on the text and not just on the
   checkbox itself, as would be expected.

but it's still better than the current version which simply doesn't work
at all, i.e. can't be toggled in any way (and also doesn't draw itself
correctly when using dark mode under macOS 10.14+), so use it for now.

A better solution would be to fix the problem with ActivateCell() not
working at all (see #17746) and update the code to respect drawing in
dark mode.

Closes #17473.

Closes https://github.com/wxWidgets/wxWidgets/pull/904
2019-10-21 21:14:54 +02:00
tm
fa3c0b1808 Document wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES system option
Make this option slightly more discoverable.

See #12429.
2019-10-21 21:14:54 +02:00
Vadim Zeitlin
8b95467256 Avoid crashing when using wxOverlay under macOS 10.14
Retain the graphics context for the helper overlay window as otherwise
it gets released leaving us with a dangling pointer.

Unfortunately this still doesn't make the existing code actually work.

See #18399.
2019-10-21 21:14:54 +02:00
Vadim Zeitlin
ad6799f249 Merge branch 'grid-uitests-gtk'
Fixes to wxUIActionSimulator allowing the tests using it to work for
wxGrid in wxGTK.

And some improvements and bug fixes to wxGrid itself.

Closes https://github.com/wxWidgets/wxWidgets/pull/1609
2019-10-21 21:12:01 +02:00
Ian McInerney
f867b04571 Recognize macOS 10.15 in wxGetOsDescription()
Closes https://github.com/wxWidgets/wxWidgets/pull/1613
2019-10-21 17:16:17 +02:00
Vadim Zeitlin
8949f441fd Also include build/msw/wx_setup.props with MSVC "Dev" binaries
This file is a dependency of wxwidgets.props and must be present.

Closes #18510.
2019-10-21 01:27:51 +02:00
Artur Wieczorek
6c1c621888 Add reference to the widgets sample in the documentation
Add reference to the description of the widgets sample wherever this
sample is mentioned in the documentation.
2019-10-20 21:37:44 +02:00
PB
9d4e116e8a Improve wxVariantDataSafeArray documentation
Improve the class description.

Mention that one needs to call wxAutomationObject::SetConvertVariantFlags()
with wxOleConvertVariant_ReturnSafeArrays to actually receive a
wxVariant with SAFEARRAY (if possible).

Make better use of now-documented wxSafeArray in the code examples.

Closes https://github.com/wxWidgets/wxWidgets/pull/1611
2019-10-20 18:37:57 +02:00
Vadim Zeitlin
f8289ffad5 Include wxwidgets.props into MSVS binaries distribution
Add wxMSVC_VERSION_ABI_COMPAT definition to the version of the file
included in the binary distribution to make it compatible with the
actual DLL names.

Closes #18510.
2019-10-20 17:06:07 +02:00
PB
51d2284da3 Add documentation for wxSafeArray
This wxMSW-only class was introduced in 3.0 but was not documented.

Closes https://github.com/wxWidgets/wxWidgets/pull/1610
2019-10-20 15:44:24 +02:00
Vadim Zeitlin
128608dc25 Fix mistake in wxDateTime::Tm struct documentation
yday field values starts from 0 and mday starts from 1, contrary to what
was actually written.

Closes #18534.
2019-10-20 15:37:13 +02:00
Artur Wieczorek
5925893eed Fix various doxygen issues in the documentation 2019-10-20 11:53:49 +02:00
Vadim Zeitlin
8d962b0121 Add a diagnostic message to wxDateTime::UNow() unit test
Try to understand what's going in Travis CI builds.
2019-10-19 23:05:32 +02:00
Vadim Zeitlin
248d4a8631 Fix size of the last column after the previous commit
The loop computing "colswidth" (the sum of widths including last column)
actually incorrectly computed "lastColX" (the sum of widths until the
last column), fix this.

See #18295.
2019-10-19 23:00:58 +02:00
Vadim Zeitlin
6af316b537 Auto size last visible column in generic wxDataViewCtrl
Resize the last visible column and not just the last column, which might
be hidden, to fill up all the available space.

See #18295.
2019-10-19 22:02:20 +02:00
Vadim Zeitlin
c6d2f6d9fe Really fix the standard button size in high DPI under MSW
Use "relative pixels" (known as DIPs in wx) instead of dialog units, as
the latter ones don't scale correctly due to rounding errors when using
high DPI.

Also take into account the fact that the 1px invisible border around the
visible part of the buttons is not scaled by the standard control, so
don't apply scaling to this part when determining the best size neither.

Closes #18528.
2019-10-19 21:41:18 +02:00
Vadim Zeitlin
20a8b04655 Don't increase the button height in wxMSWButton::GetFittingSize()
This results in buttons being forced to be too tall when using high DPI
and is useless anyhow, as all callers of this function deal with the
height by increasing it to the minimum acceptable value already (or
discard it entirely in wxMessageDialog::AdjustButtonLabels()).

See #18528.
2019-10-19 21:41:19 +02:00
Vadim Zeitlin
4fac71fc29 Merge branch 'per-monitor-dpi-aware-controls-3' of https://github.com/MaartenBent/wxWidgets
Add, or improve, per-monitor DPI awareness to/for more controls.

See https://github.com/wxWidgets/wxWidgets/pull/1589
2019-10-19 20:10:05 +02:00
Danny Scott
0a8cb849b5 Update to reflect use of vc14x binary in place of vc14[012]
Closes https://github.com/wxWidgets/wxWidgets/pull/1608
2019-10-19 20:08:01 +02:00
Vadim Zeitlin
c4e914784a Guard against Now() and UNow() returning different second values
Avoid spurious error in the unit test by calling Now() and UNow() a few
times in a row until they return the same second, as we may be unlucky
enough for this not to be the case when we call them just once.
2019-10-19 20:02:42 +02:00
Vadim Zeitlin
16619c5e77 Use DIPs for the margins around text in wxGrid columns
Improve the appearance on high DPI displays where the margins were
previously too small under MSW.
2019-10-19 18:31:50 +02:00
Vadim Zeitlin
f29b6564b1 Really fix recent regression in grid content autosizing
Fix autosizing broken in 3c72396a36 and
not fully fixed by f7e335c031.

Simplify the code to make it more obviously correct, by separating the
computation of the extent suitable for the label and determining the
size to use taking into account the extents of both the column data and
the its column.

Also add the unit test checking that auto-sizing works correctly in all
the different cases.

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

Co-Authored-By: Ilya Sinitsyn <the_siv@mail.ru>
2019-10-19 18:28:03 +02:00
Artur Wieczorek
b2ad5aa1d9 Get rid of unnecessary cast
Parameter is already of HDC type so this cast is unnecessary and can be removed.
2019-10-18 19:23:52 +02:00
Artur Wieczorek
3873a78f61 Fix building benchmarks with wxUSE_LIBTIFF == 0 2019-10-18 19:22:45 +02:00
Artur Wieczorek
2b331a9463 Optimize drawing owner-drawn button
We have an optimized function to draw horizontal/vertical lines on DC with a non-rotated coordinate system so we can use it for drawing button frames.
2019-10-18 18:06:12 +02:00
Artur Wieczorek
147fc16f1e Optimize drawing cross hair
We have an optimized function to draw horizontal/vertical lines on DC with a non-rotated coordinate system so we can use it for drawing cross hair.
2019-10-18 18:06:12 +02:00
Artur Wieczorek
bae8bb4c45 Optimize drawing horizontal/vertical lines
On DC with a non-rotated coordinate system drawing a filled rectangle with ExtTextOut() Win API is faster than drawing a line with MoveTo()/LineTo() so on such DCs we can use ExtTextOut() to draw horizontal/vertical lines with solid colors and square ends instead of calling MoveTo()/LineTo().

See #18517.
2019-10-18 18:06:12 +02:00
Vadim Zeitlin
b4dee76b4c Set focus to the main grid window in wxGrid::SetFocus()
After changing wxGrid to not inherit from wxPanel, this needs to be done
explicitly now.
2019-10-18 04:00:46 +02:00
Vadim Zeitlin
38247f596c Remove wrong wxGrid::GetMainWindowOfCompositeControl() override
This method is supposed to be overridden in the sub-windows of a
composite control (and is indeed correctly implemented in
wxGridSubwindow), but it doesn't make any sense to implement it in the
parent window itself.

This method was probably never executed (which is how the problem went
unnoticed for 10+ years since 760be3f7cb),
but it's still wrong to define it here, so remove it.
2019-10-18 04:00:46 +02:00
Vadim Zeitlin
9a424602e4 Stop deriving wxGrid from wxPanel
This is unnecessary as TAB navigation is not supposed to work between
wxGrid children and actually harmful as this resulted in SetFocus()
doing nothing, instead of setting focus to wxGridWindow, if the focus
was on wxGrid itself for some reason (this happened at least in the grid
unit tests and resulted in failures because the in-place editor didn't
appear as expected).
2019-10-18 04:00:46 +02:00
Vadim Zeitlin
8064d9420f Fix the just added wxDataViewCtrl::DeleteAllItems() test
Using GetTopItem() was wrong, we actually need to use the invalid item,
which corresponds to the "virtual root" of wxDataViewTreeStore.
2019-10-17 22:26:37 +02:00
Vadim Zeitlin
8ed116bdc6 Use a hack to work around mouse click emulation bug with GTK 3
Somehow, mouse release events generated immediately after the mouse
press ones are sometimes (not always, but often enough to reliably
prevent the test suite from passing) simply lost, i.e. not received by
the GTK event loop.

The only workaround seems to be to introduce an artificial delay, which
does avoid the problem, at the price of making the tests run longer and,
worse, not really solving the underlying problem, whatever it is. But
it's still better than nothing.
2019-10-17 22:05:17 +02:00
Vadim Zeitlin
57d2be63fc Wait until grid is fully shown in the unit test
Without this, the mouse clicks sometimes are received by the parent
frame and not the grid itself.
2019-10-17 22:04:20 +02:00
Vadim Zeitlin
94bdb7402d Don't do anything in WaitForPaint class under non-GTK platforms
Under MSW the tests pass even without it, so don't make them take longer
unnecessarily.
2019-10-17 22:03:44 +02:00
Vadim Zeitlin
8534ec4699 Get rid of an unnecessary function in wxWindow unit test
No real changes, just inline a short function only used once.
2019-10-17 22:01:36 +02:00
Vadim Zeitlin
c810bfad47 Move WaitForPaint helper into a header
No real changes, just make this class, used in wxWindow::SetSize() tests
only so far, reusable in the other tests.
2019-10-17 21:59:06 +02:00
Vadim Zeitlin
7d6d514984 Improve WaitForPaint helper used in window unit tests
Unbind the event handler referencing a local variable, as leaving it
bound could result in a crash later if another paint event was generated
for the window for whatever reason.

Doing it like this requires using 2 different objects, but the
complexity can be still hidden inside WaitForPaint class, with the 2nd
object being just a member of it, and, in fact, makes the code using it
simpler as it doesn't need to use a boolean variable with it.
2019-10-17 17:07:00 +02:00
dos
5413f68c61 Build vc14x libraries in official binaries build script
Replace vc140,vc141,vc142 builds using VS2015,VS2017,VS2019
with a single set of libraries using vc14x toolset built with VS2015.

Closes https://github.com/wxWidgets/wxWidgets/pull/1607
2019-10-17 17:02:07 +02:00
Vadim Zeitlin
7a980c455e Fix crash in wxDataViewTreeCtrl::DeleteAllItems() in wxGTK
Restore the checks for the model stamp, reverting the changes of
18594afe76: we still need to ignore the
calls to at least iter_children() and iter_nth_child() model methods
that can be called from inside gtk_tree_view_set_model() when we reset
the model, as running these methods crashes when trying to use the
pointers to already deleted items.

For consistency and robustness, add checks for the model stamp to all
the methods and not just those two, just in case other ones end up being
called later in some way.

Also add a unit test checking that DeleteAllItems() doesn't crash and
does delete all items.

Closes #18533.
2019-10-17 14:57:04 +02:00
Thomas Klausner
a3212b35f6 Fix udata type in wxFileSystemWatcher code under NetBSD 10
The previous fix in 5442edbbe9 corrected
the type for the older NetBSD versions, but not NetBSD 10, which now
uses "void*", as all the other platforms, so restrict the original fix
to NetBSD versions < 10 only.

See #18199.
2019-10-16 23:23:31 +02:00
Vadim Zeitlin
29be54d76e Define all stock colours using their fixed RGB values
For some reason, names were used for cyan and light grey, even though
all the other ones used RGB values since refactoring the stock objects
to be created on demand in f516d98637.

Use RGB values for these two as well now.

Closes #18530.
2019-10-15 23:13:04 +02:00
Vadim Zeitlin
ad7fb7f4aa Merge branch 'warnings' of https://github.com/catalinr/wxWidgets
Fix MSVS analyzer warnings about int multiplication overflow and
uninitialized member variables.

See https://github.com/wxWidgets/wxWidgets/pull/1606
2019-10-15 22:50:17 +02:00