AdaptixC2-Mod0/Libs/kddockwidgets/core/views/MainWindowViewInterface.cpp
2026-04-06 00:20:51 -05:00

221 lines
6.6 KiB
C++

/*
This file is part of KDDockWidgets.
SPDX-FileCopyrightText: 2020 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 "MainWindowViewInterface.h"
#include "DockWidgetViewInterface.h"
#include "core/Logging_p.h"
#include "kddockwidgets/core/MainWindow.h"
#include "kddockwidgets/core/DockRegistry.h"
namespace KDDockWidgets::Core {
MainWindowViewInterface::MainWindowViewInterface(Core::MainWindow *controller)
: m_mainWindow(controller)
{
}
MainWindowViewInterface::~MainWindowViewInterface() = default;
Core::MainWindow *MainWindowViewInterface::mainWindow() const
{
return m_mainWindow;
}
QString MainWindowViewInterface::uniqueName() const
{
return m_mainWindow->uniqueName();
}
Vector<QString> MainWindowViewInterface::affinities() const
{
return m_mainWindow->affinities();
}
void MainWindowViewInterface::setAffinities(const Vector<QString> &names)
{
m_mainWindow->setAffinities(names);
}
MainWindowOptions MainWindowViewInterface::options() const
{
return m_mainWindow->options();
}
bool MainWindowViewInterface::isMDI() const
{
return m_mainWindow->isMDI();
}
bool MainWindowViewInterface::closeDockWidgets(bool force)
{
return m_mainWindow->closeDockWidgets(force);
}
bool MainWindowViewInterface::sideBarIsVisible(KDDockWidgets::SideBarLocation loc) const
{
return m_mainWindow->sideBarIsVisible(loc);
}
void MainWindowViewInterface::clearSideBarOverlay(bool deleteFrame)
{
m_mainWindow->clearSideBarOverlay(deleteFrame);
}
void MainWindowViewInterface::layoutEqually()
{
m_mainWindow->layoutEqually();
}
void MainWindowViewInterface::addDockWidgetAsTab(DockWidgetViewInterface *dockView)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
m_mainWindow->addDockWidgetAsTab(dw);
}
void MainWindowViewInterface::addDockWidget(DockWidgetViewInterface *dockView,
KDDockWidgets::Location location,
DockWidgetViewInterface *relativeToDockView,
const KDDockWidgets::InitialOption &initialOption)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
auto relativeTo = relativeToDockView ? relativeToDockView->dockWidget() : nullptr;
m_mainWindow->addDockWidget(dw, location, relativeTo, initialOption);
}
bool MainWindowViewInterface::anySideBarIsVisible() const
{
return m_mainWindow->anySideBarIsVisible();
}
void MainWindowViewInterface::moveToSideBar(DockWidgetViewInterface *dockView)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
m_mainWindow->moveToSideBar(dw);
}
void MainWindowViewInterface::moveToSideBar(DockWidgetViewInterface *dockView,
KDDockWidgets::SideBarLocation loc)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
m_mainWindow->moveToSideBar(dw, loc);
}
void MainWindowViewInterface::restoreFromSideBar(DockWidgetViewInterface *dockView)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
m_mainWindow->restoreFromSideBar(dw);
}
void MainWindowViewInterface::overlayOnSideBar(DockWidgetViewInterface *dockView)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
m_mainWindow->overlayOnSideBar(dw);
}
void MainWindowViewInterface::toggleOverlayOnSideBar(DockWidgetViewInterface *dockView)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
m_mainWindow->toggleOverlayOnSideBar(dw);
}
void MainWindowViewInterface::layoutParentContainerEqually(DockWidgetViewInterface *dockView)
{
auto dw = dockView ? dockView->dockWidget() : nullptr;
m_mainWindow->layoutParentContainerEqually(dw);
}
void MainWindowViewInterface::moveToSideBar(const QString &dockId)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
m_mainWindow->moveToSideBar(dw);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::moveToSideBar(const QString &dockId,
KDDockWidgets::SideBarLocation loc)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
m_mainWindow->moveToSideBar(dw, loc);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::restoreFromSideBar(const QString &dockId)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
m_mainWindow->restoreFromSideBar(dw);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::overlayOnSideBar(const QString &dockId)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
m_mainWindow->overlayOnSideBar(dw);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::toggleOverlayOnSideBar(const QString &dockId)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
m_mainWindow->toggleOverlayOnSideBar(dw);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::layoutParentContainerEqually(const QString &dockId)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
m_mainWindow->layoutParentContainerEqually(dw);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::addDockWidgetAsTab(const QString &dockId)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
m_mainWindow->addDockWidgetAsTab(dw);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::addDockWidget(const QString &dockId, KDDockWidgets::Location location,
const QString &relativeToDockId,
const KDDockWidgets::InitialOption &initialOption)
{
if (Core::DockWidget *dw = DockRegistry::self()->dockByName(dockId)) {
auto relativeTo = relativeToDockId.isEmpty()
? nullptr
: DockRegistry::self()->dockByName(relativeToDockId);
m_mainWindow->addDockWidget(dw, location, relativeTo, initialOption);
} else {
KDDW_ERROR("Could not find dock widget {}", dockId);
}
}
void MainWindowViewInterface::setPersistentCentralView(std::shared_ptr<Core::View> view)
{
assert(m_mainWindow);
m_mainWindow->setPersistentCentralView(view);
}
}