- Qt 6.9
- Qt Wayland Compositor
- C++ Classes
- QWaylandQuickShellSurfaceItem
- Qt Wayland Compositor | Commercial or GPLv3

# QWaylandQuickShellSurfaceItem Class

The QWaylandQuickShellSurfaceItem class provides a Qt Quick item that represents a QWaylandShellSurface. More...

Header: | `#include <QWaylandQuickShellSurfaceItem>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)` `target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)`
qmake: | `QT += waylandcompositor`
In QML: | ShellSurfaceItem
Inherits: | QWaylandQuickItem

- List of all members, including inherited members

## Properties

- autoCreatePopupItems : bool
- moveItem : QQuickItem*
- shellSurface : QWaylandShellSurface*

- staysOnBottom : bool
- staysOnTop : bool

## Public Functions

| QWaylandQuickShellSurfaceItem(QQuickItem *parent = nullptr)
bool | autoCreatePopupItems()
QQuickItem * | moveItem() const
void | setAutoCreatePopupItems(bool enabled)
void | setMoveItem(QQuickItem *moveItem)
void | setShellSurface(QWaylandShellSurface *shellSurface)
void | setStaysOnBottom(bool on)
void | setStaysOnTop(bool on)
QWaylandShellSurface * | shellSurface() const
bool | staysOnBottom() const
bool | staysOnTop() const

## Signals

void | autoCreatePopupItemsChanged()
void | moveItemChanged()
void | shellSurfaceChanged()
void | staysOnBottomChanged()
void | staysOnTopChanged()

## Detailed Description

This class is used to render `wl_shell`, `xdg_shell` or `ivi_application` surfaces as part of a Qt Quick scene. It handles moving and resizing triggered by clicking on the window decorations.

See also QWaylandQuickItem, QWaylandWlShellSurface, and QWaylandIviSurface.

## Property Documentation

### autoCreatePopupItems : bool

This property holds whether QWaylandQuickShellSurfaceItems for popups parented to the shell surface managed by this item should automatically be created.

Access functions:

bool | autoCreatePopupItems()
void | setAutoCreatePopupItems(bool enabled)

Notifier signal:

void | autoCreatePopupItemsChanged()

### moveItem : QQuickItem*

This property holds the move item for this QWaylandQuickShellSurfaceItem. This is the item that will be moved when the clients request the QWaylandShellSurface to be moved, maximized, resized etc. This property is useful when implementing server-side decorations.

Access functions:

QQuickItem * | moveItem() const
void | setMoveItem(QQuickItem *moveItem)

Notifier signal:

void | moveItemChanged()

### shellSurface : QWaylandShellSurface*

This property holds the QWaylandShellSurface rendered by this QWaylandQuickShellSurfaceItem. It may either be a QWaylandXdgSurfaceV5, QWaylandWlShellSurface or QWaylandIviSurface depending on which shell protocol is in use.

Access functions:

QWaylandShellSurface * | shellSurface() const
void | setShellSurface(QWaylandShellSurface *shellSurface)

Notifier signal:

void | shellSurfaceChanged()

### staysOnBottom : bool

Keep this item above other Wayland surfaces

Access functions:

bool | staysOnBottom() const
void | setStaysOnBottom(bool on)

Notifier signal:

void | staysOnBottomChanged()

### staysOnTop : bool

Keep this item above other Wayland surfaces

Access functions:

bool | staysOnTop() const
void | setStaysOnTop(bool on)

Notifier signal:

void | staysOnTopChanged()

## Member Function Documentation

### QWaylandQuickShellSurfaceItem::QWaylandQuickShellSurfaceItem(QQuickItem *parent = nullptr)

Constructs a QWaylandQuickWlShellSurfaceItem with the given parent.