Commit Graph

37139 Commits

Author SHA1 Message Date
Vadim Zeitlin
ea8d65dc83 Merge branch 'cmake_misc' of https://github.com/TcT2k/wxWidgets
CMake documentation improvements and increase MSVC warnings level.

See https://github.com/wxWidgets/wxWidgets/pull/993
2018-10-29 15:16:54 +01:00
Tobias Taschner
18db61d568 Fix MSW wxCheckOsVersion() without manifest
Reimplement wxCheckOsVersion() to use wxGetOsVersion() on windows.

An executable without the Windows 8.1+ compatibility info in a
manifest would not detect the version based on the VerifyVersionInfo()
API previously used.

Closes https://github.com/wxWidgets/wxWidgets/pull/992
2018-10-29 15:15:41 +01:00
Vadim Zeitlin
5d06593ae1 Ensure that wxThread::Pause() suspends the thread immediately
Surprisingly, ::SuspendThread() doesn't actually do it, but only
schedules the thread for suspension in some undetermined near future.
This could result in problems as Pause() could exit, releasing the CS
protecting wxThread internal data in the main thread, and allowing the
worker thread to enter it (e.g. in its TestDestroy()) before being
actually suspended, meaning that the thread got suspended inside a CS,
which resulted in later deadlocks.

Fix this by calling ::GetThreadContext() which is supposed to ensure
that the scheduler does really suspend the thread before it returns (as
it's impossible to get the context of a thread while it's running).

Closes #18137.
2018-10-29 14:55:09 +01:00
Paul Cornett
25a54a9b56 build fix for wxUniversal 2018-10-28 09:16:06 -07:00
Paul Cornett
dd1a6a6d35 Avoid NULL pointer dereference when calling GetScaleFactor() on invalid bitmap with GTK+3 2018-10-28 09:15:33 -07:00
Vadim Zeitlin
5d5654742f Merge branch 'msw-popup'
Reimplement wxPopupWindow using WS_POPUP instead of WS_CHILD window in
wxMSW as the new approach allows using the controls inside the popup
normally, unlike the old one.

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

Closes #18243.
2018-10-27 15:08:22 +02:00
Vadim Zeitlin
79a37a2a65 Don't try to set focus outside of popup window in wxMSW
This will just hide the window immediately, so prefer to ignore the
"focus" argument of Popup() but show the popup instead.

Update the documentation to mention that setting focus outside of popup
is not supported under all platforms.
2018-10-27 15:06:42 +02:00
Vadim Zeitlin
965f890919 Fix regression in wxTopLevelWindowMSW::IsMaximized()
This fixes another bug from 3518f1a7d8
(after the one fixed in 5766280311): if a
window was maximized by user and then hidden, its IsMaximized() returned
false because it examined m_showCmd which didn't have SW_MAXIMIZE value
in this case.

The same was true for IsMinimised() as well.

Fix both problems by updating the value of m_showCmd when hiding the
window.
2018-10-26 04:01:04 +02:00
Stefan Csomor
f257780771 Implement shaped windows closer to other platforms
wxFRAME_SHAPED is not needed anymore under OSX and a shaped window can just have a background color, does not need a paint handler.
2018-10-25 20:13:40 +02:00
Tobias Taschner
e285b3dfef Silence harmless MSVC warning (hidden local var) 2018-10-24 10:53:53 +02:00
Vadim Zeitlin
9562ca2b70 Block child window events propagation beyond wxPopupWindow
Set wxWS_EX_BLOCK_EVENTS to prevent events bubbling up to the popup
parent as it doesn't make much sense.

See #18243.
2018-10-24 02:06:46 +02:00
Stefan Csomor
708a408733 move macOS transparency fix one level up 2018-10-23 21:12:48 +02:00
Stefan Csomor
a94325a76a fix transparency problems on macOS
under mojave any backgroundColor destroys transparency
2018-10-23 21:01:31 +02:00
Stefan Csomor
651e1cd1b5 Supporting newer transparent background API 2018-10-22 22:36:42 +02:00
Stefan Csomor
7dfbe50fc0 fixing proper font rendering color when using emulated bold
when the stroke width is set in macOS (emulated bold), the stroke color was not correctly set - unless text color was black
2018-10-22 17:43:31 +02:00
Stefan Csomor
a69a43bc53 fixing warning for unused param 2018-10-22 16:27:22 +02:00
Vadim Zeitlin
56c4191168 Reimplement wxPopupWindow as a WS_POPUP window under MSW
Don't use the child window of the desktop window for popup windows under
MSW, while this worked in simplest cases, it didn't allow having
functional controls inside a wxPopupWindow as e.g. wxTextCtrl didn't
accept input it at all if created as a child of such window.

Instead, switch to using a top-level window, with WS_POPUP style, and
fix the problem with the loss of activation by explicitly pretending to
still be active in the owner window when losing activation to our own
popup (thanks to Barmak Shemirani for providing this solution).

Also use an MSW-specific and much simpler implementation of detecting
when the popup should be dismissed in wxPopupTransientWindow: instead of
capturing mouse or tracking focus, just react to activation loss
directly.

Add a wxTextCtrl to the popup in samples/popup to show that editing it
works now.
2018-10-20 22:50:46 +02:00
Vadim Zeitlin
17055fb8c6 Don't assert in focus code for buttons inside a wxPopupWindow
IsTopLevel() returns true for wxPopupWindow, even if it's not a subclass
of wxTopLevelWindow, so GetTLWParentIfNotBeingDeleted() asserted when
called with a button inside a wxPopupWindow.

Just return null from it instead for now. A better solution could be to
return wxNonOwnedWindow from GetTLWParentIfNotBeingDeleted() (which
would need to be renamed to something more suitable) and move the
{Get,Set}TmpDefaultItem() methods into it.
2018-10-20 22:50:46 +02:00
Paul Cornett
35a9f134cc Fix build with wxUSE_UNICODE_UTF8
wxString is not implicitly convertible to const char* in that configuration.
Also, stock IDs work fine with GTK+3 despite being deprecated, so only avoid
them for GTK+4.
2018-10-20 09:58:30 -07:00
Tim Stahlhut
cca0921400 Fix file names in header comments
No real changes, just fix comments containing copy-and-paste typos.

Closes https://github.com/wxWidgets/wxWidgets/pull/984
2018-10-20 13:27:23 +02:00
Lauri Nurmi
b9e813f9d3 Fix ANSI build for GTK+ 2
Operands of the ?: had different types, so add an explicit conversion to
wxString.

Closes https://github.com/wxWidgets/wxWidgets/pull/983
2018-10-20 13:25:45 +02:00
jgehw
b5face97bc Fix QA build options check when wxUSE_DEBUGREPORT==0
Compile this check even if wxDebugReport itself is not used.

Closes https://github.com/wxWidgets/wxWidgets/pull/979
2018-10-20 13:22:16 +02:00
Cătălin Răceanu
88b7ef2fab Fix wxRA_SPECIFY_{ROWS,COLS} handling in wxQt wxRadioBox
Their meanings were previously reversed.

Closes https://github.com/wxWidgets/wxWidgets/pull/978
2018-10-20 13:21:28 +02:00
Vadim Zeitlin
7d9df6056e Merge branch 'msw-univ-build-fixes'
Fix building wxUniv/MSW with MinGW.

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

Closes #17700.
2018-10-17 18:10:45 +02:00
Tim S
095176f840 Add GDK_WINDOWING_X11 guard for wxGTK/Win32 2018-10-16 16:00:54 -07:00
Tim S
99d082cae7 Add WXUNIVERSAL guard for wxMSW/Univ 2018-10-16 11:35:58 -04:00
Jouk
41bddbd85f update for OpenVMS compilation of wxX11 2018-10-16 11:54:12 +02:00
Artur Wieczorek
652765e614 Fix calculating size of the caption of the description text in wxPropertyGridManager
Using font height to determine required height of wxStaticText control used to display a title is not sufficient because this doesn't take into account internal margins, borders etc. around displayed text within the control. Because this internal positioning depends on the port it's better to delegate calculation of the required height to the control itself.

Closes #17662.
2018-10-13 23:38:15 +02:00
Artur Wieczorek
7c0eac050e Use dedicated function to obtain highest level parent of the just changed property 2018-10-13 23:33:26 +02:00
Artur Wieczorek
7a7777cb4a Fix wxPGProperty::GetMainParent() function
Traversing upwards in the tree should be stopped when parent is root or category property.
2018-10-13 23:33:26 +02:00
Artur Wieczorek
8429fd0229 Don't explicitly refresh entire wxPropertyGrid while refreshing wxPropertyGridManager
wxPG is a child of wxPGManager and is refreshed automatically when updated region of wxPGManager contains wxPG window.
2018-10-13 23:33:24 +02:00
Artur Wieczorek
09ff7edfbe Redraw only wxPGProperties within update region
Currently all properties within client area are processed for drawing whether they lie inside the update region or not. Processing for drawing is an expensive operation so doing this only for properties being actually repainted should improve performance.
2018-10-13 23:33:23 +02:00
Artur Wieczorek
b894ea1ce3 Use dedicated function to check wxPGProperty flag 2018-10-13 23:33:23 +02:00
Artur Wieczorek
fe924be261 Use dedicated function to check if property is a wxRootProperty 2018-10-13 23:33:22 +02:00
Artur Wieczorek
56fa1e0f56 Remove declaration of unused variable 2018-10-13 23:33:20 +02:00
Artur Wieczorek
12a755acf8 Declare array explicitly as a wxVector instead of using wxArrayPGProperty alias 2018-10-13 23:33:19 +02:00
Jouk
60f2c09bb1 Update OpenVMS build support (correction on previous commit) 2018-10-11 14:50:48 +02:00
Vadim Zeitlin
bc974910ec Implement setting bitmaps for the menu item for wxQt
Closes https://github.com/wxWidgets/wxWidgets/pull/975
2018-10-11 14:40:20 +02:00
Jouk
17e243a5e4 Update OpenVMS build support 2018-10-11 11:41:55 +02:00
Stefan Csomor
8ace56a84e Adjust NSOpenGLView subclass use for glcanvas on macOS
makes this not fully a user pane, leave default handling for most things, but indicate that we can have the focus, fixes #18237
2018-10-11 08:43:12 +02:00
Vadim Zeitlin
8e1c4e9238 Avoid harmless signed/unsigned warning in g++ 5.4 wxGTK build
Change GTKGetEntryTextLength() to return a signed value, as it's always
either assigned to or compared with the signed variables anyhow.

This avoids a couple of -Wsign-compare warnings when building with g++
5.4 from Ubuntu 16.04.
2018-10-11 01:05:43 +02:00
Vadim Zeitlin
ea71ea1259 Check for non-null window in wxRendererNative::GetCheckBoxSize()
Instead of running normally under some platforms and crashing under MSW
(when using themes) when passing NULL to GetCheckBoxSize(), now
consistently assert and return zero size everywhere.

Closes #18241.
2018-10-11 00:01:00 +02:00
Václav Slavík
66e07d6465 Fix crash in wxMenu::MSWCommand if item is NULL 2018-10-09 18:27:47 +02:00
Vadim Zeitlin
54ef52fbd9 Merge branch 'display-funcs'
Implement all global functions in terms of wxDisplay and add
wxDisplay::GetPPI().

See https://github.com/wxWidgets/wxWidgets/pull/963
2018-10-09 16:31:54 +02:00
oneeyeman1
1a58c9c8ba Also fill the column for wxEVT_DATAVIEW_ITEM_ACTIVATED in wxOSX
Similar to the previous commit.

Closes https://github.com/wxWidgets/wxWidgets/pull/967
2018-10-09 15:25:18 +02:00
Vadim Zeitlin
aafb87b40d Set the column for wxEVT_DATAVIEW_ITEM_ACTIVATED in wxGTK
The column is available in the GTK+ callback, so just pass it along to
avoid gratuitous inconsistency with the generic version.

Also update the sample to show the column value for these events.
2018-10-09 15:21:08 +02:00
Vadim Zeitlin
818d69f113 Make wxDataViewCtrl::FromGTKColumn() public and rename
This function has to be called from a GTK+ callback, so make it public
and also rename to GTKColumnToWX() to conform to the naming convention
mandating the use of "GTK" prefix for the public methods which are not
part of the public API.
2018-10-09 15:12:42 +02:00
Paul Cornett
e160cb37b6 Remove unused wxWindow parameter 2018-10-08 22:01:05 -07:00
Paul Cornett
5d3d6135e0 Fix wxRenderer for GTK+2 with wxGCDC created from wxMemoryDC
See #18242
2018-10-08 21:47:46 -07:00
Vadim Zeitlin
ded2894b78 Add wxDisplay::GetPPI() to use instead of wxGetDisplayPPI()
While this is not done for all the ports yet, the new API allows
returning different PPI values for different monitors, unlike the old
(and still existing, but implemented in terms of the new one) global
function.
2018-10-08 13:04:38 +02:00