146 lines
3.6 KiB
C++
146 lines
3.6 KiB
C++
/*
|
|
This file is part of KDDockWidgets.
|
|
|
|
SPDX-FileCopyrightText: 2020-2022 Klarälvdalens Datakonsult AB, a KDAB Group
|
|
company <info@kdab.com> Author: Sérgio Martins <sergio.martins@kdab.com>
|
|
|
|
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
|
|
|
|
Contact KDAB at <info@kdab.com> for commercial licensing options.
|
|
*/
|
|
|
|
#include "ViewWrapper_qtwidgets.h"
|
|
#include "views_qtwidgets/DockWidget_qtwidgets.h"
|
|
#include "views_qtwidgets/FloatingWindow_qtwidgets.h"
|
|
#include "views_qtwidgets/Frame_qtwidgets.h"
|
|
#include "views_qtwidgets/MainWindow_qtwidgets.h"
|
|
#include "views_qtwidgets/Separator_qtwidgets.h"
|
|
#include "views_qtwidgets/SideBar_qtwidgets.h"
|
|
#include "views_qtwidgets/Stack_qtwidgets.h"
|
|
#include "views_qtwidgets/TabBar_qtwidgets.h"
|
|
#include "views_qtwidgets/TitleBar_qtwidgets.h"
|
|
|
|
#include <QDebug>
|
|
|
|
using namespace KDDockWidgets::Views;
|
|
|
|
ViewWrapper_qtwidgets::ViewWrapper_qtwidgets(QWidget *widget)
|
|
: ViewWrapper(widget)
|
|
, m_widget(widget)
|
|
{
|
|
}
|
|
|
|
void ViewWrapper_qtwidgets::setObjectName(const QString &name)
|
|
{
|
|
m_widget->setObjectName(name);
|
|
}
|
|
|
|
QRect ViewWrapper_qtwidgets::geometry() const
|
|
{
|
|
return m_widget->geometry();
|
|
}
|
|
|
|
QPoint ViewWrapper_qtwidgets::mapToGlobal(QPoint localPt) const
|
|
{
|
|
return m_widget->mapToGlobal(localPt);
|
|
}
|
|
|
|
QPoint ViewWrapper_qtwidgets::mapFromGlobal(QPoint globalPt) const
|
|
{
|
|
return m_widget->mapFromGlobal(globalPt);
|
|
}
|
|
|
|
void ViewWrapper_qtwidgets::setGeometry(QRect rect)
|
|
{
|
|
m_widget->setGeometry(rect);
|
|
}
|
|
|
|
QWindow *ViewWrapper_qtwidgets::windowHandle() const
|
|
{
|
|
return m_widget->windowHandle();
|
|
}
|
|
|
|
bool ViewWrapper_qtwidgets::isTopLevel() const
|
|
{
|
|
return m_widget->isTopLevel();
|
|
}
|
|
|
|
void ViewWrapper_qtwidgets::setVisible(bool is)
|
|
{
|
|
m_widget->setVisible(is);
|
|
}
|
|
|
|
bool ViewWrapper_qtwidgets::isVisible() const
|
|
{
|
|
return m_widget->isVisible();
|
|
}
|
|
|
|
void ViewWrapper_qtwidgets::move(int x, int y)
|
|
{
|
|
m_widget->move(x, y);
|
|
}
|
|
|
|
void ViewWrapper_qtwidgets::move(QPoint pt)
|
|
{
|
|
m_widget->move(pt);
|
|
}
|
|
|
|
void ViewWrapper_qtwidgets::activateWindow()
|
|
{
|
|
m_widget->activateWindow();
|
|
}
|
|
|
|
bool ViewWrapper_qtwidgets::isMaximized() const
|
|
{
|
|
return m_widget->isMaximized();
|
|
}
|
|
|
|
QSize ViewWrapper_qtwidgets::maximumSize() const
|
|
{
|
|
return m_widget->maximumSize();
|
|
}
|
|
|
|
void ViewWrapper_qtwidgets::setSize(int x, int y)
|
|
{
|
|
m_widget->resize(x, y);
|
|
}
|
|
|
|
bool ViewWrapper_qtwidgets::is(Type t) const
|
|
{
|
|
if (t == Type::ViewWrapper)
|
|
return true;
|
|
|
|
switch (t) {
|
|
|
|
case Type::Frame:
|
|
return qobject_cast<Views::Frame_qtwidgets *>(m_widget);
|
|
case Type::TitleBar:
|
|
return qobject_cast<Views::TitleBar_qtwidgets *>(m_widget);
|
|
case Type::TabBar:
|
|
return qobject_cast<Views::TabBar_qtwidgets *>(m_widget);
|
|
case Type::Stack:
|
|
return qobject_cast<Views::Stack_qtwidgets *>(m_widget);
|
|
case Type::FloatingWindow:
|
|
return qobject_cast<Views::FloatingWindow_qtwidgets *>(m_widget);
|
|
case Type::Separator:
|
|
return qobject_cast<Views::Separator_qtwidgets *>(m_widget);
|
|
case Type::DockWidget:
|
|
return qobject_cast<Views::DockWidget_qtwidgets *>(m_widget);
|
|
case Type::SideBar:
|
|
return qobject_cast<Views::SideBar_qtwidgets *>(m_widget);
|
|
case Type::MainWindow:
|
|
return qobject_cast<Views::MainWindow_qtwidgets *>(m_widget);
|
|
case Type::Layout:
|
|
return qobject_cast<LayoutWidget *>(m_widget);
|
|
case Type::LayoutItem:
|
|
case Type::DropIndicatorOverlayInterface:
|
|
qWarning() << Q_FUNC_INFO << "These are framework internals that are not wrapped";
|
|
return false;
|
|
case Type::ViewWrapper:
|
|
return true;
|
|
}
|
|
|
|
qWarning() << Q_FUNC_INFO << "Unknown type" << static_cast<int>(t);
|
|
return false;
|
|
}
|