// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) // Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) // SPDX-License-Identifier: Apache-2.0 #include "quickitemdelegate_p.h" #include #include namespace QWK { QuickItemDelegate::QuickItemDelegate() : WindowItemDelegate() { } QuickItemDelegate::~QuickItemDelegate() = default; QWindow *QuickItemDelegate::window(const QObject *obj) const { return static_cast(obj)->window(); } bool QuickItemDelegate::isEnabled(const QObject *obj) const { return static_cast(obj)->isEnabled(); } bool QuickItemDelegate::isVisible(const QObject *obj) const { return static_cast(obj)->isVisible(); } QRect QuickItemDelegate::mapGeometryToScene(const QObject *obj) const { auto item = static_cast(obj); const QPointF originPoint = item->mapToScene(QPointF(0.0, 0.0)); const QSizeF size = item->size(); return QRectF(originPoint, size).toRect(); } QWindow *QuickItemDelegate::hostWindow(const QObject *host) const { return static_cast(const_cast(host)); } bool QuickItemDelegate::isHostSizeFixed(const QObject *host) const { const auto window = static_cast(host); const auto minSize = window->minimumSize(); const auto maxSize = window->maximumSize(); return !minSize.isEmpty() && !maxSize.isEmpty() && minSize == maxSize; } bool QuickItemDelegate::isWindowActive(const QObject *host) const { return static_cast(host)->isActive(); } Qt::WindowStates QuickItemDelegate::getWindowState(const QObject *host) const { return static_cast(host)->windowStates(); } void QuickItemDelegate::setWindowState(QObject *host, Qt::WindowStates state) const { static_cast(host)->setWindowStates(state); } void QuickItemDelegate::setCursorShape(QObject *host, const Qt::CursorShape shape) const { static_cast(host)->setCursor(QCursor(shape)); } void QuickItemDelegate::restoreCursorShape(QObject *host) const { static_cast(host)->unsetCursor(); } Qt::WindowFlags QuickItemDelegate::getWindowFlags(const QObject *host) const { return static_cast(host)->flags(); } QRect QuickItemDelegate::getGeometry(const QObject *host) const { return static_cast(host)->geometry(); } void QuickItemDelegate::setWindowFlags(QObject *host, Qt::WindowFlags flags) const { static_cast(host)->setFlags(flags); } void QuickItemDelegate::setWindowVisible(QObject *host, bool visible) const { static_cast(host)->setVisible(visible); } void QuickItemDelegate::bringWindowToTop(QObject *host) const { static_cast(host)->raise(); } }