QWaylandXdgShellV5 Class

The QWaylandXdgShellV5 class is an extension for desktop-style user interfaces. More...

Header: #include <QWaylandXdgShellV5>
qmake: QT += waylandcompositor
Since: Qt 5.8

Public Functions

QWaylandXdgShellV5()
QWaylandXdgShellV5(QWaylandCompositor *compositor)
void initialize()
QWaylandClient *popupClient() const

Public Slots

void closeAllPopups()
uint ping(QWaylandClient *client)

Signals

void pong(uint serial)
void xdgPopupCreated(QWaylandXdgPopupV5 *xdgPopup)
void xdgPopupRequested(QWaylandSurface *surface, QWaylandSurface *parent, QWaylandSeat *seat, const QPoint &position, const QWaylandResource &resource)
void xdgSurfaceCreated(QWaylandXdgSurfaceV5 *xdgSurface)
void xdgSurfaceRequested(QWaylandSurface *surface, const QWaylandResource &resource)

Static Public Members

const struct wl_interface *interface()
QByteArray interfaceName()

Detailed Description

The QWaylandXdgShellV5 class is an extension for desktop-style user interfaces.

The QWaylandXdgShellV5 extension provides a way to associate a QWaylandXdgSurfaceV5 with a regular Wayland surface. Using the xdg_surface interface, the client can request that the surface is resized, moved, and so on.

QWaylandXdgShellV5 corresponds to the Wayland interface xdg_shell.

Member Function Documentation

QWaylandXdgShellV5::QWaylandXdgShellV5()

Constructs a QWaylandXdgShellV5 object.

QWaylandXdgShellV5::QWaylandXdgShellV5(QWaylandCompositor *compositor)

Constructs a QWaylandXdgShellV5 object for the provided compositor.

[slot] void QWaylandXdgShellV5::closeAllPopups()

void QWaylandXdgShellV5::initialize()

Initializes the shell extension.

[static] const struct wl_interface *QWaylandXdgShellV5::interface()

Returns the Wayland interface for the QWaylandXdgShellV5.

[static] QByteArray QWaylandXdgShellV5::interfaceName()

[slot] uint QWaylandXdgShellV5::ping(QWaylandClient *client)

Sends a ping event to the client. If the client replies to the event, the pong signal will be emitted.

[signal] void QWaylandXdgShellV5::pong(uint serial)

This signal is emitted when the client has responded to a ping event with serial serial.

See also QWaylandXdgShellV5::ping().

QWaylandClient *QWaylandXdgShellV5::popupClient() const

[signal] void QWaylandXdgShellV5::xdgPopupCreated(QWaylandXdgPopupV5 *xdgPopup)

This signal is emitted when the client has created an xdg_popup. A common use case is to let the handler of this signal instantiate a QWaylandShellSurfaceItem or QWaylandQuickItem for displaying xdgPopup in a QtQuick scene.

[signal] void QWaylandXdgShellV5::xdgPopupRequested(QWaylandSurface *surface, QWaylandSurface *parent, QWaylandSeat *seat, const QPoint &position, const QWaylandResource &resource)

This signal is emitted when the client has requested an xdg_surface to be associated with surface. The handler for this signal may create the xdg poup for resource and initialize it within the scope of the signal emission. Otherwise a QWaylandXdgPopupV5 will be created automatically.

The seat is the wl_seat that caused the popup to be opened.

position is the desired position of the popup, relative to the parent.

[signal] void QWaylandXdgShellV5::xdgSurfaceCreated(QWaylandXdgSurfaceV5 *xdgSurface)

This signal is emitted when the client has created an xdg_surface. A common use case is to let the handler of this signal instantiate a QWaylandShellSurfaceItem or QWaylandQuickItem for displaying xdgSurface in a QtQuick scene.

[signal] void QWaylandXdgShellV5::xdgSurfaceRequested(QWaylandSurface *surface, const QWaylandResource &resource)

This signal is emitted when the client has requested an xdg_surface to be associated with surface. The handler for this signal may create the shell surface for resource and initialize it within the scope of the signal emission. Otherwise a QWaylandXdgSurfaceV5 will be created automatically.

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.