Commit Graph

37572 Commits

Author SHA1 Message Date
Vadim Zeitlin
66727bf04b Merge branch 'wxradiobox' of https://github.com/MaartenBent/wxWidgets
Several wxRadioBox-related improvements:

- Fix its minimum width calculation to take the title into account.
- Remove unused nor useful wxRA_LEFTTORIGHT and wxRA_TOPTOBOTTOM.
- Tidy up the radiobox page of the widgets sample.

See https://github.com/wxWidgets/wxWidgets/pull/1187
2019-01-28 01:17:34 +01:00
Tomay
10eeb0b262 Improve drawing buttons in generic wxSearchCtrl
Several fixes:
* Clear the buttons background, which can be important if their (custom)
  bitmap is transparent.
* Only add margin before/after the corresponding button if it is
  actually visible.
* Select the bitmap out of wxMemoryDC before modifying it.
* Don't assume that the "Cancel" button is always square.

Closes https://github.com/wxWidgets/wxWidgets/pull/1142
2019-01-28 01:15:05 +01:00
New Pagodi
07f64c3b75 Add wxPU_CONTAINS_CONTROLS style for wxPopupWindow
This restores the default behavior of a popup window in MSW to the
behavior it had before 56c4191168. The new
flag added by this commit can be used to give the popup window the
behavior from after that commit, i.e. choose the implementation using a
WS_POPUP window rather than the default one using a WS_CHILD of the
desktop.

The old behavior kept the popup from taking focus from its parent window
but left some controls not working. The new behavior has the popup take
focus and lets all controls work.

Closes https://github.com/wxWidgets/wxWidgets/pull/1123
2019-01-28 00:48:16 +01:00
Scott Talbert
eaee931011 Fix sending of EVT_KEY_DOWN on wxGTK for non-ASCII characters
Instead of returning early if the keycode is invalid, try setting the unicode
character first, and if neither are valid, return.

Fixes #18054
2019-01-27 09:01:05 -08:00
Maarten Bent
a377f0e5f0 Get rid of wxRA_LEFTTORIGHT and wxRA_TOPTOBOTTOM styles
This was only used in wxUniv, wxRA_SPECIFY_[COLS/ROWS] can be used instead.
Do not remove them from the definitions, to not break user code.

Closes #18100.
2019-01-27 15:26:16 +01:00
Maarten Bent
4fc38bc2c7 Improve minimum width of wxRadioBox
Take the minimum width of the wxStaticBox into account, instead of only the
width of the label.
2019-01-27 15:26:14 +01:00
Graham Dawes
0265139c11 Track Qt tab widget selection when adding pages to wxNotebook
Ensure the selected state tracks the Qt selection: without this, if
no explicit selection is made after adding the pages,
wxNotebook::GetSelection() returns wxNOT_FOUND even though the first
page is selected.

Closes https://github.com/wxWidgets/wxWidgets/pull/1182
2019-01-27 04:04:42 +01:00
chris2oph
b1594725c9 Use QWidget::update() rather than repaint() in wxClientDC
Qt documentation advises to avoid calling repaint() except when an
immediate update is required, i.e. it corresponds to wxWindow::Update().
Use update() instead to avoid many Qt warnings that appeared when
resizing the caret sample window, for example.

Closes https://github.com/wxWidgets/wxWidgets/pull/1178
2019-01-27 04:00:12 +01:00
Vadim Zeitlin
c74727c20f Merge branch 'qt_more_event_loop_improvements' of https://github.com/GeoTeric/wxWidgets
Event loop and idle events improvements for wxQt

See https://github.com/wxWidgets/wxWidgets/pull/1171
2019-01-27 03:55:38 +01:00
Graham Dawes
e40323d312 Simplify shared timer reference counting in wxEventLoop for wxQT 2019-01-25 16:44:23 +00:00
ali kettab
84fc5c1714 Fix changing tooltip via wxToolTip::SetTip() in wxQt
Update the actual tool tip used by Qt and not just the internal variable
when SetTip() is called.

Also implement wxToolTip::SetWindow().

Closes https://github.com/wxWidgets/wxWidgets/pull/1175
2019-01-25 14:39:37 +01:00
ali kettab
3c369af2e6 Translate QFocusEvent to wxFocusEvent correctly
Set the ID, object and the associated window.

Closes https://github.com/wxWidgets/wxWidgets/pull/1177
2019-01-25 03:31:22 +01:00
ali kettab
515031cf6b Set event object for wxKeyEvents generated in wxQt
Not setting the event object broke the code expecting it to be set,
notably in our own validators code.

Closes https://github.com/wxWidgets/wxWidgets/pull/1176
2019-01-24 22:47:26 +01:00
Liam Treacy
f9280c8529 Now use the column index to retrieve the correct text in GetItemText 2019-01-24 14:38:38 +00:00
Liam Treacy
ca00251454 Fix in wxListCtrl::FindItem. Every item is now iterated through, rather than only the first 2019-01-24 14:35:47 +00:00
Vadim Zeitlin
9c16a3748e Declare variable only needed inside an "if" inside it
No real changes, just make the code slightly more concise.
2019-01-23 16:47:05 +01:00
Vadim Zeitlin
6b3a0cc460 Make wxQtSpinBoxBase-derived valueChanged() methods inline
It seems better to have them in the class itself, near the connect()
call binding them.

This also resolves an inconsistency between wxQtSpinBox::valueChanged(),
which was defined elsewhere in the source file, and the same method of
wxQtDoubleSpinBox, which was defined directly after the class
declaration.

See https://github.com/wxWidgets/wxWidgets/pull/1168
2019-01-23 16:45:21 +01:00
Matthew Griffin
adee46d155 Send event when wxSpinCtrlDouble value changes in wxQt
Closes https://github.com/wxWidgets/wxWidgets/pull/1168
2019-01-23 16:44:46 +01:00
phowstan
7cfb5b91a5 Implement wxStaticBox::Set/GetLabel() in wxQt
Closes https://github.com/wxWidgets/wxWidgets/pull/1167
2019-01-23 16:38:25 +01:00
Graham Dawes
6aecaa8845 Share a single idle timer for all event loops in wxQT 2019-01-23 13:55:20 +00:00
Graham Dawes
0c28952ff6 Make ScheduleIdleCheck take into account whether the loop is exiting 2019-01-23 12:04:42 +00:00
Graham Dawes
b8f71efc04 Implement filtering in wxEventLoop::DoYieldFor under wxQT 2019-01-23 11:57:16 +00:00
Artur Wieczorek
5d40d57218 Don't process last HDN_ITEMCHANGING notification
Just skipping last HDN_ITEMCHANGING arriving after HDN_ENDTRACK (to prevent emitting EVT_HEADER_RESIZING) when current column width is less than minimal value allowed is not enough because this notification will be handled by the native control in a standard way causing column width to resize below the limit.
When current width is below the limit this last HDN_ITEMCHANGING notification has to be explicitly "vetoed" to prevent default handling from happening.

Close #18335.
2019-01-23 00:04:37 +01:00
Vadim Zeitlin
2753bb2f50 Merge branch 'qt_event_loop' of https://github.com/GeoTeric/wxWidgets
Use QEventLoop for wxEventLoop implementation in wxQt to fix several
issues with wxEventLoop, notably avoid "QApplication::exec is already
running" errors.

See https://github.com/wxWidgets/wxWidgets/pull/1165
2019-01-22 19:05:53 +01:00
Graham Dawes
c2270f8a83 Don't generate events in wxChoice::SetSelection() under wxQt
This makes it consistent with the other ports and makes the
corresponding unit test pass.

Closes https://github.com/wxWidgets/wxWidgets/pull/1163
2019-01-22 19:03:41 +01:00
Vadim Zeitlin
6fbc7a7e16 Merge branch 'qt-region-fixes'
wxQt region-related fixes: fix bugs in clipping region handling and
add wxRegion::DoCombine().

See https://github.com/wxWidgets/wxWidgets/pull/1162
2019-01-22 15:46:19 +01:00
Vadim Zeitlin
8703f0c437 Merge branch 'qt-dropdown'
Make wxQt wxComboBox behave more consistently with the other ports. Also
includes related fixes to wxChoice and wxTextEntry.

See https://github.com/wxWidgets/wxWidgets/pull/1161
2019-01-22 15:45:03 +01:00
Vadim Zeitlin
37f7da858d Merge branch 'qt-painter-fixes'
Fixes for measuring text extent and improve/simplify ownership in
wxQtGraphicsContext.

See https://github.com/wxWidgets/wxWidgets/pull/1160
2019-01-22 15:43:45 +01:00
Graham Dawes
8a73f65285 Use QEventLoop to implement wxEventLoop for wxQT 2019-01-22 14:37:18 +00:00
Graham Dawes
7fa7fd1beb Don't generate idle events when the event loop is not running 2019-01-22 08:11:30 +00:00
Graham Dawes
dd62c82d30 Remove event filter on destruction 2019-01-22 08:11:30 +00:00
Vadim Zeitlin
26c9fd0033 Merge branch 'qt_listbox_failing_tests'
Fixes for item selection and cleanup.

See https://github.com/wxWidgets/wxWidgets/pull/1159
2019-01-21 23:43:56 +01:00
Vadim Zeitlin
c8f427181e Reuse code between wxListBox::Create() overloads
Add DoCreate() helper to actually create and initialize QListWidget.
2019-01-21 23:43:03 +01:00
Vadim Zeitlin
99b0efcdf2 Reformat a couple of for loops
Only whitespace changes.
2019-01-21 23:34:12 +01:00
Jay Nabonne
8412a40b90 Make some local variables const
No real changes.
2019-01-21 23:34:12 +01:00
Jay Nabonne
dddca2f516 Unindent wxRegionRefData class body
Only whitespace changes.
2019-01-21 23:34:12 +01:00
Vadim Zeitlin
c28a8c9e7e Implement wxRegion operations in terms of DoCombine() 2019-01-21 23:34:12 +01:00
Jay Nabonne
637b861eb1 Don't allocate wxRegionRefData at all for empty region
Empty regions don't really need any data.
2019-01-21 23:34:12 +01:00
Jay Nabonne
0cd2f7b687 Remove unnecessary checks for null pointer before deleting it
No real changes.
2019-01-21 23:34:12 +01:00
Jay Nabonne
5929c5831e Fix handling of empty clipping region in wxQt 2019-01-21 23:34:12 +01:00
Jay Nabonne
5b8b30d243 Don't use pointer for wxDC::m_clippingRegion in wxQt
An object can be used directly instead.
2019-01-21 23:34:12 +01:00
Jay Nabonne
a130a59111 Handle clipping regions with negative width or height in wxQt 2019-01-21 23:20:24 +01:00
Jay Nabonne
ce5301e4e6 Fix off by 1 errors in wxQt wxDC::SetClippingRegion() 2019-01-21 23:19:25 +01:00
Richard Smith
3618356cf1 Fix wxComboBox implementation of wxTextEntry interface
Implement missing methods and send, or suppress, the expected events.
2019-01-21 23:08:42 +01:00
Richard Smith
1a7f9124b6 Update insertion point in wxTextEntry::Remove()
Move the insertion point to the end of the string if its position has
become invalid after removing part of the text.
2019-01-21 23:08:07 +01:00
Richard Smith
b0defd5876 Don't select the newly added item in wxChoice 2019-01-21 23:08:07 +01:00
Richard Smith
f2538a0bc4 Reset selection in after deleting selected item from wxChoice 2019-01-21 23:08:07 +01:00
Vadim Zeitlin
cfdf80d586 Rename wxChoice::InitialiseSort() to QtInitSort()
Use the prefix to indicate that this function is unique to this port.

Also don't make unnecessarily make it virtual.
2019-01-21 23:08:07 +01:00
Richard Smith
b27971c501 Use case-insensitive comparison in Qt wxComboBox and wxChoice
Define LexicalSortProxyModel to use the same sort order in wxQt as in
the other ports.
2019-01-21 23:08:07 +01:00
Vadim Zeitlin
000f8ef422 Put private wxQtChoice class inside an anonymous namespace
No real changes, just avoid polluting global scope unnecessarily.
2019-01-21 20:06:31 +01:00