Commit graph

75584 commits

Author SHA1 Message Date
Vadim Zeitlin
20845d85a5 Deprecate "encoding" parameter of wxXmlDocument ctor and Load()
This parameter wasn't used for anything as it specified the encoding of
the data contents in memory and not the encoding of the XML file as
might be believed, so it only created unnecessary confusion.

See #24167.
2024-01-01 22:08:28 +01:00
Vadim Zeitlin
9ee9f4e8dd Remove documentation of wxXmlDocument::GetEncoding()
This function was removed in 4519d8e08a (Remove wxUSE_UNICODE checks as
they're always true now, 2022-10-27).
2024-01-01 21:00:08 +01:00
Vadim Zeitlin
0b049be4b7 Use unique_ptr<> in wxXmlDocument
Replace manual use of raw pointer with std::unique_ptr<>.

No real changes.
2024-01-01 20:54:08 +01:00
Vadim Zeitlin
2a5eac26f4 Remove unnecessary calls to wxDELETE()
Replace them with just calls to delete as it doesn't matter if the
pointer is null or not in all these cases and using just "delete" is
more clear.
2024-01-01 20:54:08 +01:00
Vadim Zeitlin
326876eb60 Initialize wxXmlDocument::m_docNode in its declaration too
Similar to the previous commit.
2024-01-01 20:54:08 +01:00
Vadim Zeitlin
08ef52671f Initialize wxXmlDocument::m_fileType and m_eol in declaration
This is simpler and more clear than calling SetFileType() from all
ctors.

Also m_eol
2024-01-01 20:53:53 +01:00
Vadim Zeitlin
7f6d85d60b Remove trivial CharToString() from wxXML code
Just use wxString::FromUTF8Unchecked() directly.

Note that Expat strings are always (valid) UTF-8 strings.
2024-01-01 20:30:03 +01:00
Vadim Zeitlin
efc943b59d Remove unused wxXmlParsingContext::conv member
This pointer was always null since the changes of 4519d8e08a (Remove
wxUSE_UNICODE checks as they're always true now, 2022-10-27), so remove
it completely.
2024-01-01 20:29:03 +01:00
Vadim Zeitlin
acf113f3f9 Update copyright years to 2024
Just run misc/scripts/inc_year and commit the results.

See #18690.
2023-12-31 18:56:06 +01:00
Vadim Zeitlin
a79759d999 Switch wxMSW 32 bit cross build workflow to Debian Stable
Debian Testing doesn't have 32-bit support any more.
2023-12-31 18:03:22 +01:00
Martin Corino
6ee9056c16 Fix column reordering in wxHeaderCtrlSimple and related problems
Override required functions in wxHeaderCtrlSimple to avoid asserts if
its columns are reordered.

Also bring the code behaviour in agreement with the documentation by
calling UpdateColumn() after calling UpdateColumnVisibility().

Finally, only call UpdateColumnsOrder() if the corresponding event was
not processed as the application should use one xor the other mechanism
for reacting to columns reordering, but not both.

Closes #24108.

Closes #24172.
2023-12-31 17:57:19 +01:00
Vadim Zeitlin
927590fbcd Merge branch 'qt-richtooltip-fixes' of https://github.com/AliKet/wxWidgets
wxRichToolTip fixes for wxQt port.

See #24170.
2023-12-31 17:48:37 +01:00
Vadim Zeitlin
00dff6e3bc Stop using $EGREP in configure.ac unnecessarily
We don't have DISABLED_UTILS or DISABLED_DEMOS variables, so it's
useless to exclude them from the makefiles list -- just stop doing it.

This fixes a problem with using EGREP without preceding AC_PROG_EGREP
with autoconf 2.72, as EGREP is not defined any longer with this
version.

See #24168.
2023-12-29 19:03:28 +01:00
Paul Cornett
ce1d317768 Remove GLU dependency
See #23721
2023-12-28 14:49:42 -08:00
Paul Cornett
f1731fd672 Return index of first added image in wxImageList::Add()
This is what MSW does. Broken in c374eefd34 (Fold wxOSX-specific wxImageList into
generic version, 2018-10-30)
See #10013
2023-12-28 12:49:47 -08:00
Paul Cornett
ef326106c0 Improve wxEVT_LEAVE_WINDOW generation while mouse is captured with GTK3
Non-integral coordinates and overlay scrollbars can cause the event to be
generated with coordinates that are still inside the window. Avoid this by
ensuring that integral coordinates are outside the window, and ignoring overlay
scrollbars. Also remove gdk_display_flush(), contrary to the very old comment
it does not seem to be necessary. Fixes wxScrolledWindow auto-scrolling.
2023-12-28 12:39:41 -08:00
Paul Cornett
fc8a780932 Avoid applying "no-window" mouse coordinate conversion to generic wxWindow
For a wxPizza widget in a GtkScrolledWindow, the coordinates are already correct.
2023-12-28 12:32:59 -08:00
Paul Cornett
6cb6cf1fde Use correct comparison for out-of-window mouse coordinate
Coordinates on a window are 0..size-1
2023-12-28 12:26:24 -08:00
AliKet
b284260191
Update interface/wx/nonownedwnd.h
Co-authored-by: VZ <vz-github@zeitlins.org>
2023-12-28 16:35:23 +01:00
ali kettab
7dea9423c5 Fix wxPopupTransientWindow::Dismiss() implementation
Remove installed event handlers before trying to hide the popup,
as this could result in Destroy() being called twice under wxQt.
This happens to wxRichToolTip for example. i.e. Destroy() is called
once from wxPopupFocusHandler::OnKillFocus() after the call to Hide()
then, from wxRichToolTipPopup::OnTimer().
2023-12-27 19:49:10 +01:00
ali kettab
40a6d74aaf Create the wxPopupWindow with a parent under wxQt
The fact that we cannot create a wxPopupWindow with a parent
is no longer valid after the recent changes to the wxQt port.

The wxRichToolTip (an instance of wxPopupWindow) will crash if
created without a parent under this port.
2023-12-27 19:31:50 +01:00
ali kettab
c7fdb41fcd Implement wxNonOwnedWindow::SetShape() taking wxGraphicsPath under wxQt
This is a copy and paste of wxMac's implementation to make wxRichToolTip
work under wxQt.
2023-12-27 19:17:21 +01:00
Vadim Zeitlin
7a306c4a42 Merge branch 'qt-fixes' of https://github.com/AliKet/wxWidgets
Many wxQt improvements and simplifications.

See #24135.
2023-12-27 02:57:14 +01:00
Vadim Zeitlin
378da09c84 Fix typo in "receive" occurring a few times
This is just too annoying to see.
2023-12-27 02:56:20 +01:00
Vadim Zeitlin
5f62f30231 Use WaitForEventAt() in Grid::CellSelect test too
Try making this test more robust as well as it also sporadically fails
on AppVeyor.

Also simplify it a bit, checking for each of the expected events in turn
instead of checking for their total number at the end.
2023-12-27 02:49:53 +01:00
ali kettab
a0b0f524ff Handle wxTextCtrl created with wxTE_DONTWRAP or wxTE_NO_VSCROLL under wxQt 2023-12-26 22:50:59 +01:00
ali kettab
0eaff271ed Fix wxStaticBitmap not using correct bitmap size under wxQt 2023-12-26 22:50:59 +01:00
ali kettab
0fb1a74983 Fix Set{Back,Fore}groundColour() for wxFrame under wxQt
Restrict the effect of these functions to the central widget only.
Otherwise the menubar, toolbar and statusbar would also be affected.
2023-12-26 22:50:59 +01:00
ali kettab
aa562ea2fb Get rid of QtCreateControl() from wxQt code base
If possible, all windows should call wxWindow::Create() on creation now,
because among other things:
- It manages generic and non-generic windows uniformly and transparently
- It ensures an appropriate initial size for the window
- AddChild() and PostCreation() are automatically called
- Scrollbar policies are set in one place.
2023-12-26 22:50:59 +01:00
ali kettab
69ec562f16 Update outdated comments under wxQt
There is no longer a QtGetContainer() function name. wxQtEventForwarder was renamed
to wxQtEventSignalHandler. And QtGetScrollBarContainer() was just removed in previous
commits.
2023-12-26 12:45:52 +01:00
ali kettab
840d362a70 Keep forward declarations of Qt classes in alphabetical order 2023-12-26 12:45:52 +01:00
ali kettab
15f3f4c3af Refactor the code that chooses which widget to use for drawing under wxQt
No real changes.
2023-12-26 12:45:52 +01:00
ali kettab
ee009a6416 Honor wxALWAYS_SHOW_SB flag if specified under wxQt 2023-12-26 12:45:52 +01:00
ali kettab
31aac5fac4 Get rid of QtGetScrollBarsContainer() from wxWindow API under wxQt
Because It is simpler to initialize (the inherited) m_qtContainer member
directly in derived classes during construction process, and make the API
a little bit cleaner.
2023-12-26 12:45:52 +01:00
ali kettab
5fb8a54e14 Change the return type of QtGetScrollBarsContainer() under wxQt
Neither QListWidget nor QTextEdit derive from QScrollArea and the cast to it is
just UB. Instead, using the common base class QAbstractScrollArea is safer and
eliminates the need to these dangerous and insidious crosscast'ings.
2023-12-26 12:45:52 +01:00
ali kettab
484785fb88 Override {Set,Is}DoubleBuffered() under wxQt
Closes #24136.
2023-12-26 12:45:52 +01:00
ali kettab
de2762bc02 Fix compilation error in auidemo sample under wxQt
Also fix ID_NotebookNoCloseButton menu item ui update which causes
OnUpdateUI() handler to run forever under wxQt.
2023-12-26 12:45:52 +01:00
ali kettab
a6b3efb2cd Always use live resize for wxAUI under wxQt 2023-12-26 12:45:52 +01:00
ali kettab
d44408d448 Fix wxScrollWindow not scrolling by mouse dragging under wxQt
Get rid of wxQtInternalScrollBar and use QScrollArea's scrollbars instead.
2023-12-26 12:45:52 +01:00
ali kettab
6a76e7a610 Fix wxPaintDC under wxQt after the last commits
The {menu,tool,status} bars will not be painted correctly otherwise.
2023-12-26 12:45:52 +01:00
ali kettab
d1be2f42d6 Get rid of unnecessary else statement in QtHandlePaintEvent 2023-12-26 12:45:52 +01:00
ali kettab
5fe4bb90d3 Fix handling paint events under wxQt after the last commit
Qt doesn't allow painting on a widget from a handler of another widget
2023-12-26 12:45:52 +01:00
ali kettab
cace95f4d3 Stop using QScrollArea as a central widget of a wxFrame under wxQt
There's really no need to make the wxFrame itself scrollable as it unnecessarily
complicates the implementation and introduces annoying bugs like content shifted
by 1px. Moreover, the scrolling logic is already encapsulated in other widgets
like wxScrolledWindow which can be used as a hosting container in the frame to
handle scrolling.
2023-12-26 12:45:52 +01:00
ali kettab
1a7f1ccc85 Add missing override to wxQtEventSignalHandler 2023-12-26 12:45:52 +01:00
ali kettab
ed4425bf6e Remove unreferenced defines from wxQt code base 2023-12-26 12:45:52 +01:00
DjPasco
e55d7c1dc3 Scroll by entire rows in wxGrid when they have uniform heights
Set vertical scroll line size to the default row height.

See #23032.
2023-12-26 00:23:06 +01:00
Vadim Zeitlin
400ce8b582 Return null from wxGetX11Display() when using Wayland
Returning Wayland display pointer as XDisplay was really confusing and
resulted in more weird crashes than just using null pointer directly.
2023-12-25 21:17:17 +01:00
Vadim Zeitlin
bac0aa0e83 Merge branch 'ui-tests-fixes'
Attempt to work around failures in UI tests under AppVeyor.

See #24162.
2023-12-25 18:02:51 +01:00
Vadim Zeitlin
a2a8fc1d65 Avoid harmless MSVC shadowing warning in the test
Using "argc" and "argv" for parameter names triggers C4458 with MSVS
2022, warning about hiding class members with the same names.

As we can't rename the latter, rename the parameters to avoid this.
2023-12-25 17:56:10 +01:00
Vadim Zeitlin
2573e61c19 Fix harmless MSVC warning about uninitialized variables in a test
MSVS 2022 gave C4701 when std::isinf(d) was used below in release build.
2023-12-25 17:24:55 +01:00