Add DropArea_qtwidgets stub
This commit is contained in:
@@ -123,6 +123,8 @@ set(DOCKSLIBS_SRCS
|
||||
qtwidgets/views/FloatingWindow_qtwidgets.h
|
||||
qtwidgets/views/DockWidget_qtwidgets.cpp
|
||||
qtwidgets/views/DockWidget_qtwidgets.h
|
||||
qtwidgets/views/DropArea_qtwidgets.cpp
|
||||
qtwidgets/views/DropArea_qtwidgets.h
|
||||
qtwidgets/views/Frame_qtwidgets.cpp
|
||||
qtwidgets/views/Frame_qtwidgets.h
|
||||
qtwidgets/views/MainWindow_qtwidgets.cpp
|
||||
|
||||
@@ -116,6 +116,9 @@ public:
|
||||
///@param dropArea Just forward to DropIndicatorOverlayInterface's constructor.
|
||||
virtual DropIndicatorOverlayInterface *createDropIndicatorOverlay(Controllers::DropArea *dropArea) const = 0;
|
||||
|
||||
/// @brief Called internally by the framework to create a DropArea
|
||||
virtual View *createDropArea(Controllers::DropArea *, View *parent) const = 0;
|
||||
|
||||
///@brief Called internally by the framework to create a RubberBand to show as drop zone
|
||||
/// Returns a rubber band
|
||||
virtual QWidgetOrQuick *createRubberBand(QWidgetOrQuick *parent) const = 0;
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "qtwidgets/views/FloatingWindow_qtwidgets.h"
|
||||
#include "qtwidgets/views/DockWidget_qtwidgets.h"
|
||||
#include "qtwidgets/views/DropArea_qtwidgets.h"
|
||||
#include "qtwidgets/views/Frame_qtwidgets.h"
|
||||
#include "qtwidgets/views/MainWindow_qtwidgets.h"
|
||||
#include "qtwidgets/views/View_qtwidgets.h"
|
||||
@@ -185,3 +186,8 @@ QIcon DefaultWidgetFactory_qtwidgets::iconForButtonType(TitleBarButtonType type,
|
||||
|
||||
return icon;
|
||||
}
|
||||
|
||||
View *DefaultWidgetFactory_qtwidgets::createDropArea(Controllers::DropArea *controller, View *parent) const
|
||||
{
|
||||
return new Views::DropArea_qtwidgets(controller, parent);
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ public:
|
||||
DropIndicatorOverlayInterface *createDropIndicatorOverlay(Controllers::DropArea *) const override;
|
||||
QWidgetOrQuick *createRubberBand(QWidgetOrQuick *parent) const override;
|
||||
View *createSideBar(Controllers::SideBar *, Controllers::MainWindow *parent) const override;
|
||||
View *createDropArea(Controllers::DropArea *, View *parent) const override;
|
||||
|
||||
#ifdef KDDOCKWIDGETS_QTWIDGETS
|
||||
QAbstractButton *createTitleBarButton(QWidget *parent, TitleBarButtonType) const override;
|
||||
|
||||
33
src/qtwidgets/views/DropArea_qtwidgets.cpp
Normal file
33
src/qtwidgets/views/DropArea_qtwidgets.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
This file is part of KDDockWidgets.
|
||||
|
||||
SPDX-FileCopyrightText: 2019-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 "DropArea_qtwidgets.h"
|
||||
#include "private/Utils_p.h"
|
||||
|
||||
using namespace KDDockWidgets;
|
||||
using namespace KDDockWidgets::Views;
|
||||
|
||||
DropArea_qtwidgets::DropArea_qtwidgets(Controllers::DropArea *dropArea, View *parent)
|
||||
: MultiSplitter(parent)
|
||||
, m_dropArea(dropArea)
|
||||
{
|
||||
if (isWayland()) {
|
||||
#ifdef KDDOCKWIDGETS_QTWIDGETS
|
||||
setAcceptDrops(true);
|
||||
#else
|
||||
qWarning() << "Dropping not implement for QtQuick on Wayland yet!";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
DropArea_qtwidgets::~DropArea_qtwidgets()
|
||||
{
|
||||
}
|
||||
46
src/qtwidgets/views/DropArea_qtwidgets.h
Normal file
46
src/qtwidgets/views/DropArea_qtwidgets.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
This file is part of KDDockWidgets.
|
||||
|
||||
SPDX-FileCopyrightText: 2019-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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief A MultiSplitter with support for drop indicators when hovering over.
|
||||
*
|
||||
* @author Sérgio Martins \<sergio.martins@kdab.com\>
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "kddockwidgets/docks_export.h"
|
||||
#include "kddockwidgets/KDDockWidgets.h"
|
||||
|
||||
#include "private/MultiSplitter_p.h"
|
||||
|
||||
namespace KDDockWidgets {
|
||||
|
||||
namespace Controllers {
|
||||
class DropArea;
|
||||
}
|
||||
|
||||
namespace Views {
|
||||
|
||||
class DOCKS_EXPORT DropArea_qtwidgets : public MultiSplitter
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DropArea_qtwidgets(Controllers::DropArea *, View *parent);
|
||||
~DropArea_qtwidgets();
|
||||
|
||||
private:
|
||||
Controllers::DropArea *const m_dropArea;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user