Commit Graph

39675 Commits

Author SHA1 Message Date
Vadim Zeitlin
682cb8355c Replace "sendEvent" parameter in wxGridSelection with "eventType"
Instead of just passing a boolean flag indicating whether
wxEVT_GRID_RANGE_SELECTED should be sent, pass wxEventType to send, with
wxEVT_NULL being interpreted as "don't send anything".

No real changes yet, but this will allow using the existing functions to
send wxEVT_GRID_RANGE_SELECTING and not only SELECTED in the upcoming
commits.
2020-08-21 11:49:34 +02:00
Ilya Sinitsyn
39725cabd4 Fix wxGrid selecting mode ending condition 2020-08-20 16:56:03 +02:00
Ilya Sinitsyn
0a2c62fc5c Remove the selecting mode flag from wxGridSelection
Remove m_isSelecting and StartSelecting() from wxGridSelection to avoid
inconsistency of wxGridSelection selecting mode state with wxGrid state,
as wxGrid already has m_isDragging field which tells it if the selection
state is final or not.

Instead, just allow wxGrid to specify the event to send from
ExtendCurrentBlock().

We still need a separate EndSelecting() for sending the final
wxEVT_GRID_RANGE_SELECTED event, but send it only for the last selection
block, and not all the selected blocks, as this makes more sense (there
should be one SELECTED event for each block and it was already sent for
the other blocks before) and is consistent with the events generated
when performing the same actions from keyboard.
2020-08-20 16:56:03 +02:00
Daniel Kulp
decc255846 Update grid sample to show selecting events 2020-08-20 16:56:03 +02:00
Daniel Kulp
415f080c80 Split wxGrid RANGE_SELECT event into SELECTING and SELECTED
This will allow the applications that are only interested in the final
selection to ignore the intermediate SELECTING events, which are now
sent as soon as the selection changes while dragging the mouse, and only
handle the final SELECTED ones, when the drag is over.
2020-08-20 16:56:03 +02:00
Vadim Zeitlin
5324b9f184 Update libtiff and expat to allow using them with CMake
These changes are required in order to use the built-in versions of
these libraries with CMake.
2020-08-15 15:42:25 +02:00
Vadim Zeitlin
5a27ea9a86 Merge branch 'fix_grid_deselect' of https://github.com/swt2c/wxWidgets
Fix regression in wxGrid::DeselectRow() and wxGrid::DeselectCol() and
add unit tests for them.

See https://github.com/wxWidgets/wxWidgets/pull/2017
2020-08-14 19:27:48 +02:00
PB
a4647825cb Do not use wxRegEx in wxCmpNaturalGeneric()
Using wxRegEx in wxCmpNaturalGeneric() introduced a dependency of the
base library on the regex library.

Replace wxRegEx with character classification functions wxIsspace(),
wxIspunct(), and wxIsdigit() to remove this rather unnecessary
dependency.

Closes https://github.com/wxWidgets/wxWidgets/pull/2014
2020-08-14 19:26:33 +02:00
Vadim Zeitlin
8e2aad2621 Merge branch 'webview_ie-js' of https://github.com/MaartenBent/wxWidgets
Fix using JavaScript in wxWebViewIE with custom scheme.

This repairs a regression in 3.1.4 due to the changes of 6787b0548b
(Merge branch 'webview-ie-fixes', 2020-07-23).

See https://github.com/wxWidgets/wxWidgets/pull/2004
2020-08-14 19:23:27 +02:00
Vadim Zeitlin
c80e529021 Fix crash when destroying wxPopupWindow without hiding it first
The global wxCurrentPopupWindow used by wxMSW wasn't reset in this case
and resulted in a crash during the next mouse or focus event.

Do it in wxPopupWindow dtor now, and not just when the popup is hidden.
2020-08-14 13:15:49 +02:00
Scott Talbert
9be1f86ca0 Fix regression in wxGrid::DeselectRow() and wxGrid::DeselectCol() 2020-08-13 20:01:45 -04:00
Artur Wieczorek
9018d74e99 Use stock wxBrush
Instead of using dynamically created brushes (implicitly from stock colours)
we should use corresponding stock brushes because once created they are
stored in the cache what can slightly improve performance.
2020-08-08 21:58:14 +02:00
Artur Wieczorek
3d469f3234 Draw shape mask with antialiasing disabled
We need really B/W bitmap to create a mask so antialising should be disabled
in case.
2020-08-08 21:52:13 +02:00
Vadim Zeitlin
884d2ffd32 Merge branch 'misc-fixes' of https://github.com/MaartenBent/wxWidgets
Enable using PIC by default even for static libraries and several other
build-related fixes (warning fixes etc).

See https://github.com/wxWidgets/wxWidgets/pull/2008
2020-08-08 02:01:06 +02:00
Vadim Zeitlin
aa2d159e8c Use more reasonable length for wxSlider in wxGTK by default
Use the same 100 DIPs as in wxMSW, to make the default behaviour more
useful.

Also update documentation to explain which size component should, and
should not, be specified when creating the slider.

Closes https://github.com/wxWidgets/wxWidgets/pull/2012
2020-08-05 00:01:50 +02:00
Maarten Bent
c2a7e6c946 Fix unused-variable warning in wxListCtrl code 2020-08-03 21:35:13 +02:00
Maarten Bent
5bd35f6c85 Fix unused-function warning in wxSockAddressImpl code 2020-08-03 21:34:45 +02:00
Maarten Bent
4cab673556 Make sure generated wxSTC files have LF EOL
Use 'wb' with Python 2 to enforce LF newlines. This does not work with
Python 3, use 'newline':'\n' there (which in turn does not work with 2).
2020-08-03 21:33:33 +02:00
Maarten Bent
755afd9d1b Fix typos in wxSTC interface 2020-08-03 21:32:52 +02:00
Paul Cornett
b1729ed8a0 Improve our estimate of wxNotebook page size with GTK 2020-08-03 10:36:38 -07:00
Maarten Bent
590e32c60b Fix building with wxUSE_STL enabled in VS2019 16.6
Exporting standard C++ library types is not allowed any more, see

https://developercommunity.visualstudio.com/content/problem/1042081/142628801includexhash201332-error-c2338-this-funct.html

so don't use DLL export declarations for wxHash{Map,Set} classes, which
derive from std::{map,set}.

Since the classes are header-only, this should have no direct
consequences. Only classes that extend wxHashMap or wxHashSet, like
wxImageHistogram, have to be made header only as well.

Remove the wxLogError message in wxImageHistogram::FindFirstUnusedColour, so
log.h and translation.h do not have to be included in the header.

Closes https://github.com/wxWidgets/wxWidgets/pull/2009
2020-08-03 12:54:35 +02:00
Vadim Zeitlin
5aa1f4e953 Merge branch 'dpi-colour' of https://github.com/MaartenBent/wxWidgets
Make wxGenericColourButton and wxGenericColourDialog DPI aware.

See https://github.com/wxWidgets/wxWidgets/pull/2006
2020-08-03 00:49:56 +02:00
Paul Cornett
bd835ee452 Fix a sizing/layout problem with GTK3
Relying on "check-resize" to detect when a "size-allocate" is in progess is
insufficient, resulting in the possibility of a window ending up with the wrong
size or position after inital layout. Using our existing "size-allocate"
handlers should be enough to detect the cases we care about.
See #18865
2020-08-01 21:23:34 -07:00
Maarten Bent
b10ba803f5 Make wxGenericColourDialog DPI aware 2020-07-31 22:25:10 +02:00
Maarten Bent
9e2615ac06 Move creating custom bitmaps of wxGenericColourDialog into separate function 2020-07-31 22:25:08 +02:00
Maarten Bent
a54b4073f9 Remove unused members from wxGenericColourDialog 2020-07-31 22:25:04 +02:00
Maarten Bent
4f09f83597 Make wxGenericColourButton DPI aware 2020-07-31 22:25:02 +02:00
Maarten Bent
785c448870 Fix checking size of security URL in wxWebviewIE
Allows to utilize the entire buffer when necessary.
2020-07-28 21:22:21 +02:00
Maarten Bent
43f84a9c18 Use security URL from wxWebViewHandler in wxWebViewIE
Don't use hard-coded 'http://localhost', but use the URL specified in the
wxWebViewHandler.

By default, the security URL is empty and no modifications are made when
parsing a URL. This fixes using JavaScript in pages loaded with a custom
protocol, e.g. from wxWebViewFSHandler or wxWebViewArchiveHandler.

Closes #17893
2020-07-28 21:22:21 +02:00
Maarten Bent
bcadef5e2c Remove obsolete VirtualProtocol IID table
The IIDs are now checked inside VirtualProtocol::QueryInterface.
2020-07-28 21:19:28 +02:00
Maarten Bent
0885057b70 Fix typo in wxWebViewIE failure message 2020-07-28 21:19:28 +02:00
Paul Cornett
5e89d575c3 Correction for previous change to wxBitmap scaling in Blit()
Destination wxMemoryDC context is already scaled
2020-07-28 11:35:53 -07:00
Paul Cornett
2b9499d7a7 Preserve wxBitmap scaling in Blit() with wxMemoryDC on GTK3
See #18857
2020-07-28 00:03:15 -07:00
Stefan Csomor
bb40699675 macOS bugfix: overrelease in wxGetAvailableDrives
as these strings are NSStrings retrieved by autoreleasing methods, they must be retained first
2020-07-26 11:37:55 +02:00
Vadim Zeitlin
bb3177dd3b Avoid infinite repaint loop in wxListCtrl with wxLC_HRULES
A virtual wxListCtrl with wxLC_HRULES which wasn't fully visible on
screen, i.e. didn't fit into the visible area of its parent window
(which included the case when the parent was a wxScrolledWindow, for
which it is normal and expected not to be able to fit all of its
children) got into an infinite repaint loop because of a RefreshRect()
call inside wxListCtrl::OnPaint().

Fix this by avoiding to call RefreshRect() added in 374db28747 (Fix
wxMSW ListCtrl drawing of horizontal rules for new items, 2016-05-04),
unless the current clipping rectangle is less than the actually
effective visible width and not the full client width, which can be much
bigger.

This still doesn't ensure that we don't enter into an infinite recursion
here, so it would be even better to call RefreshRect() at most once
before the next control change, but it's not clear when exactly this
"already refreshed" flag would need to be reset.

See #17158.

Closes #18850.
2020-07-24 02:06:42 +02:00
Paul Cornett
6f968105b5 Avoid -Wwrite-strings warning 2020-07-23 10:29:43 -07:00
Vadim Zeitlin
6787b0548b Merge branch 'webview-ie-fixes'
IE-based xwWebView improvements.

See https://github.com/wxWidgets/wxWidgets/pull/1987
2020-07-23 16:39:13 +02:00
Vadim Zeitlin
8e126d2cd6 Don't call RefreshRect() with negative size in wxGrid code
Don't bother trying to refresh areas beyond the visible part of the
window: not only it's useless, but it also results in debug warnings
from Cairo/pixman due to the use of negative rectangle width/height.

Closes #18848.
2020-07-23 16:21:42 +02:00
Vadim Zeitlin
0d18e12e79 Avoid -Wconversion-null from MinGW-w64 in wxListBox code
Explicitly cast the pointer to LPARAM instead of implicitly casting NULL
to it.

No real changes.
2020-07-23 16:21:30 +02:00
Vadim Zeitlin
cd2cd6a617 Avoid using IE-related symbols not present in old MinGW headers
Define INET_E_DEFAULT_ACTION ourselves and provide stand-ins for the
enums not present in MinGW SDK.

See #17893.
2020-07-21 22:44:49 +02:00
Vadim Zeitlin
e77bba1a42 Update linpng submodule to fix a build problem under iOS
See https://github.com/wxWidgets/libpng/pull/1
2020-07-21 22:32:50 +02:00
Vadim Zeitlin
56177cb5a3 Merge branch 'osx-dpi'
DPI-related improvements in wxOSX.

See https://github.com/wxWidgets/wxWidgets/pull/1984
2020-07-21 20:24:09 +02:00
Paul Cornett
44a75afe93 Make sure toplevel is active in SetFocus(), episode 2
Toplevel must be active for child to actually receive focus
See #18783
2020-07-21 08:44:57 -07:00
Vadim Zeitlin
a8bb796f8c Add OSXMakeDPIFromScaleFactor() helper
No real changes, just avoid repeating wxRound(scaleFactor*72) in several
places and do it in this single function instead.
2020-07-21 17:16:15 +02:00
Vadim Zeitlin
a2c55fa834 Include wx/math.h in the file using wxRound()
Although it seems to be already included from some other header
implicitly, prefer to also include it explicitly to avoid any breakage
later.
2020-07-21 17:16:15 +02:00
Vadim Zeitlin
af7a6ed2d0 Combine variable declaration and test in a single line
No real changes, make the code slightly shorter.
2020-07-21 17:16:15 +02:00
Stefan Csomor
984e222519 Fix content scale factor returned by wxScreenDC on Mac 2020-07-21 17:16:15 +02:00
Stefan Csomor
1deb003a7c Propagate wxEVT_DPI_CHANGED to child windows in wxOSX too 2020-07-21 17:16:15 +02:00
Stefan Csomor
668f0e7c54 Implement wxWindow::GetDPI() on macOS and iOS 2020-07-21 17:16:15 +02:00
Stefan Csomor
fa58dc2c45 Generate wxEVT_DPI_CHANGED event under Mac 2020-07-21 17:16:15 +02:00