Commit Graph

65756 Commits

Author SHA1 Message Date
Maarten Bent
6be0e7749c CMake: don't search SDL on macOS
It doesn't compile when enabled.
2019-02-03 19:01:00 +01:00
Vadim Zeitlin
9886c25645 Ensure that test notebook is destroyed after the end of its test
Don't let wxNotebook created in the recently added test for the events
generated when adding pages to it continue to live after the test end as
this breaks the subsequent tests using wxUIActionSimulator (but only
when using MinGW, for some reason).
2019-02-02 17:40:33 +01:00
Vadim Zeitlin
0a7b5a9879 Ensure that test windows are destroyed in TLW unit test
Don't leave the maximized frame created in the test case for getting
events from it lying around needlessly.
2019-02-02 17:31:05 +01:00
Vadim Zeitlin
2a907769fb Suppress all -Wmissing-field-initializers in the test suite
There were many dozens of such warnings given for the various arrays
used in the tests and it just doesn't seem feasible nor desirable to fix
them all, so just suppress the warnings for all these arrays to get rid
of them with recent (7+?) versions of gcc.
2019-02-02 17:25:37 +01:00
Vadim Zeitlin
9a7a89b7b2 Merge branch 'qt-convert-simplify'
Simplify Qt conversion functions and stop mapping wxPoint(-1,-1) and
wxSize(-1,-1) to QPoint(0,0) and QSize(0,0), respectively.

See https://github.com/wxWidgets/wxWidgets/pull/1206
2019-02-02 17:12:50 +01:00
chris2oph
f8c345ca95 Fix painting logic in wxQt wxClientDC implementation
The original drawing mechanism was generating lots of QWarning messages
when running samples (e.g. htlbox, caret, etc.) and in some cases was
not actually completely drawing every element of the sample. The issue
was that the QPicture was being shared incorrectly between wxWindow and
wxClientDC and attempts to start painting, update, etc. were generating
console warnings.

Closes https://github.com/wxWidgets/wxWidgets/pull/1152
2019-02-02 16:23:49 +01:00
Vadim Zeitlin
7d2e6e805f Add helper function to avoid code duplication in wxQt wxTextCtrl
No real changes, just a refactoring to avoid duplicating the code
handling wxTE_READONLY and the alignment styles between multi- and
single-line versions.

Also avoid testing for "style & wxTE_LEFT" as this will never be true
anyhow.

See https://github.com/wxWidgets/wxWidgets/pull/1211
2019-02-02 16:12:16 +01:00
Tristan
c8cbdc783a Implement support for more style flags in wxTextCtrl
Support wxTE_READONLY, wxTE_RICH[2], wxTE_{LEFT,CENTRE,RIGHT} as well as
wxNO_BORDER flags.

Closes https://github.com/wxWidgets/wxWidgets/pull/1211
2019-02-02 16:06:43 +01:00
ffa-benarmstrong
f930bd6740 Generate events when wxRadioButton is checked under wxQt
Closes https://github.com/wxWidgets/wxWidgets/pull/1210
2019-02-02 16:03:02 +01:00
Vadim Zeitlin
36fc9b3e5a Merge branch 'wxslider' of https://github.com/MaartenBent/wxWidgets
wxSlider and widgets samples improvements:

- Document `wxSL_BOTH` style of `wxSlider`.
- Centre labels above and below vertical `wxSlider`. Improve label
  position for specific combinations of `wxSlider` styles.
- Improve `wxSlider` in high DPI. Make thumb and tick size DPI
  dependent.
- Better fix layout of `wxSlider` labels after changing value range.
  Commit 0b821ad did not (always) trigger a call to `DoMoveWindow`. See
  [#17093](https://trac.wxwidgets.org/ticket/17093).
- Fix `wxSlider::SetThumbLength()` on `wxMSW`. It requires
  `TBS_FIXEDLENGTH` style. Use `GetThumbLength()` instead of the
  arbitrary defined `THUMB` size.
- Improve guards in button pages of widgets sample.
- Use `wxSizerFlags` for slider page in widgets sample.
- Some fixes for `wxSlider` in widgets sample
  - Correctly save the slider value before recreating the slider.
  - Layout the entire page instead of only the slider sizer.
  - Update the text controls after recreating the slider.
  - Always enable 'both sides' checkbox. It has additional effects in
    `wxMSW`.
- Demonstrate `wxSlider::SetSelection()` in widgets sample.

See https://github.com/wxWidgets/wxWidgets/pull/1208
2019-02-02 15:59:39 +01:00
Tristan
7de612dd92 Honour wxCB_READONLY flag in wxQt wxComboBox
Don't make the combobox unconditionally editable, but only do this if
wxCB_READONLY is not specified.

Closes https://github.com/wxWidgets/wxWidgets/pull/1207
2019-02-02 15:58:10 +01:00
Vadim Zeitlin
6370662cc8 Merge branch 'qt-dnd'
Initial drag-and-drop implementation for wxQt.

Closes https://github.com/wxWidgets/wxWidgets/pull/1205
2019-02-02 15:54:21 +01:00
Vadim Zeitlin
0145916fb6 Unindent contents of anonymous namespaces
No real changes, only formatting.
2019-02-02 15:50:13 +01:00
Graham Dawes
f2d20384a0 Implement wxListCtrl::GetEditControl() for wxQt
To get access to the control used for editing items, we need to create
it ourselves, which involves defining our own factory for doing this,
but seems to be the only way of achieving our goal.

Closes https://github.com/wxWidgets/wxWidgets/pull/1204
2019-02-02 15:35:26 +01:00
phowstan
89e5663a75 Handle calling wxWindow::Hide() before Create() in wxQt
Hide the window explicitly once it's created. This is not very useful,
as the real purpose of calling Hide() before Create() is to prevent the
window from being initially shown at all to avoid flicker, but better
than not hiding it at all.

Closes https://github.com/wxWidgets/wxWidgets/pull/1203
2019-02-02 15:11:42 +01:00
Vadim Zeitlin
481b29e6ce Stop mapping QSize(0,0) to wxSize(-1,-1) as well
Do this for consistency with a similar recent change to wxPoint.
2019-02-02 14:24:16 +01:00
Vadim Zeitlin
1a9f0f8b8d Make trivial Qt <-> wx conversion functions inline
No real changes, just make often used and trivial functions inline as
this like an obviously better thing to do.
2019-02-02 14:24:16 +01:00
phowstan
e831703aae Handled null cursor correctly in wxQt SetCursor()
Make passing invalid wxCursor object to SetCursor() work and reset any
previously specified cursor.

Closes https://github.com/wxWidgets/wxWidgets/pull/1197
2019-02-02 14:15:11 +01:00
Artur Wieczorek
0183b47a45 Fix build with wxUSE_CLIPBOARD==0 2019-02-01 23:36:48 +01:00
Jouk
cbbb9a28d9 Add src/generic/rowheightcache.cpp to the OpenVMS makefiles for compilation 2019-02-01 13:41:25 +01:00
Maarten Bent
4aeb941c4c Demonstrate wxSlider::SetSelection() in widgets sample 2019-01-31 21:16:07 +01:00
Maarten Bent
53af5cb251 Some fixes for wxSlider in widgets sample
Correctly save the slider value before recreating the slider.
Layout the entire page instead of only the slider sizer.
Update the text controls after recreating the slider.
Always enable 'both sides' checkbox. It has additional effects in wxMSW.
2019-01-31 21:16:07 +01:00
Maarten Bent
56c7eadc0a Use wxSizerFlags for slider page in widgets sample
Don't set minimum size of right panel.
2019-01-31 21:16:06 +01:00
Maarten Bent
bf0a8ffd74 Improve guards in button pages of widgets sample
Add guards for wxCommandLinkButton.
Move CheckBoxes outside wxHAS_BITMAPTOGGLEBUTTON guard.
Remove wxHAS_ANY_BUTTON check, this is always defined with wxUSE_TOGGLEBTN.
2019-01-31 21:16:06 +01:00
Maarten Bent
8f3b87dce7 Fix wxSlider::SetThumbLength() on wxMSW
It requires TBS_FIXEDLENGTH style.
Call InvalidateBestSize because the size of the control might change.
Call Layout in the widgets sample to adjust to the changed size.
Use GetThumbLength() instead of the arbitrary defined THUMB size.
2019-01-31 21:16:06 +01:00
Maarten Bent
9f9bc40f83 Better fix layout of wxSlider labels after changing value range
Commit 0b821adf did not (always) trigger a call to DoMoveWindow.
See #17093.
2019-01-31 21:16:05 +01:00
Maarten Bent
5eaea0e43f Improve wxSlider in high DPI
Make thumb and tick size DPI dependent.
2019-01-31 21:16:05 +01:00
Maarten Bent
94f3d567c8 Centre labels above and below vertical wxSlider
Improve label position for specific combinations of wxSlider styles.
2019-01-31 21:16:05 +01:00
Maarten Bent
0e82488300 Document wxSL_BOTH style of wxSlider 2019-01-31 21:02:03 +01:00
Jouk
fd020ad152 Synchronize setp.h_vms with setup.h.in 2019-01-31 14:46:07 +01:00
Vadim Zeitlin
5154cc711a Include QRect, QSize and QString from wx/qt/private/converter.h
Similarly to the previous commit, it doesn't seem to be worth it to
avoid including these simple and common headers from there and it
simplifies code and will allow making the converter functions inline.
2019-01-30 18:12:12 +01:00
Vadim Zeitlin
b0d88a306d Include wx/qt/private/converter.h from src/qt/converter.cpp
Follow standard practice and include the header corresponding to the
source file from it explicitly.

Also include wx/gdicmn.h from the header itself, this is a pretty common
header and there is no real advantage in avoiding it there and including
it allows to avoid a bunch of forward declarations.
2019-01-30 18:07:33 +01:00
Vadim Zeitlin
6bd15cd1ee Remove duplicate header inclusion in wxQt
No real changes, just remove a redundant line.
2019-01-30 18:06:09 +01:00
Vadim Zeitlin
b5b415af87 Stop converting wxPoint(-1,-1) to QPoint(0,0) and vice versa
QPoint(0,0) is a valid position and there just doesn't seem to be any
good reason to make it invalid by mapping it to wxDefaultPosition.

Closes https://github.com/wxWidgets/wxWidgets/pull/1202
2019-01-30 18:04:42 +01:00
Vadim Zeitlin
c5f9bed8ff Merge branch 'tlw-activate-event'
Extend activation event unit tests and enable them for wxGTK where they
seem to pass too now.

See https://github.com/wxWidgets/wxWidgets/pull/1194
2019-01-30 17:40:03 +01:00
Vadim Zeitlin
4d16029f8b Merge branch 'notebook-add-page-events'
Harmonize events sent by wxNotebook::AddPage(): they are now sent only
when adding any page except the first one if it is selected in all
ports.

See https://github.com/wxWidgets/wxWidgets/pull/1192
2019-01-30 17:38:51 +01:00
Vadim Zeitlin
8fbca5cb70 Remove all trailing spaces
No real changes, just clean up sources by removing trailing spaces from
all the non-generated files.

This should hopefully avoid future commits mixing significant changes
with insignificant whitespace ones.
2019-01-30 17:35:54 +01:00
Matthew Griffin
ae94f4da9c Ensure that top level window is active when it's shown in wxQt
Under some (not totally clear) circumstances, a TLW can remain inactive
after being shown, which is undesirable, as it prevents setting focus to
its children from working.

Work around this by calling activateWindow() explicitly if necessary.

Closes https://github.com/wxWidgets/wxWidgets/pull/1179
2019-01-30 17:27:15 +01:00
Jay Nabonne
111a37fd73 Get rid of another switch/default issue by avoiding switch altogther. Makes the code more readable (I think) actually. 2019-01-30 16:09:18 +00:00
Jay Nabonne
653979936b Clean up the code a bit to follow the guidelines, including handling of default in switches and line length. 2019-01-30 15:59:37 +00:00
Jay Nabonne
58639481c6 Make OnData behave like other implementations in terms of paying attention to what GetData returns. 2019-01-30 15:25:51 +00:00
Jay Nabonne
76eee80738 Initialize m_pendingMimeData to NULL! 2019-01-30 15:21:43 +00:00
Jay Nabonne
4844c80e18 Add some consts to const things. 2019-01-30 15:19:39 +00:00
Jay Nabonne
32780f00f2 Combine two separate anonymous namespaces into one. 2019-01-30 15:11:46 +00:00
Jay Nabonne
ece6626a59 Switch wxQt to use UTF-8 for text data transfer via wxDataObject. The result otherwise was less than useful. 2019-01-30 15:03:05 +00:00
Jay Nabonne
df38836862 Fixed some spacing. 2019-01-30 14:36:06 +00:00
Jay Nabonne
6fa65900f9 Implement cursor overriding for DnD on wxQt.
This uses the cursor variant (as opposed to the icon one) since these actually are cursors, the base class looks like cursors are meant to be used, and the icon thing looks like a hack.
2019-01-30 14:22:01 +00:00
Jay Nabonne
abdebb1895 Do not allow drag and drop process on targets that do not support the formats dragged.
Privatize some Impl members.
2019-01-30 10:42:01 +00:00
Graham Dawes
c3b8b81da5 Remove unused includes from qt/window.h 2019-01-30 09:27:35 +00:00
Graham Dawes
fbc39bac54 Fix Linux build 2019-01-30 09:12:08 +00:00