Move the CursorPositions header to the enums header instead

Otherwise will have to include WidgetResizeHandler_p.h
where I don't want to. And make it an installed header etc.
This commit is contained in:
Sergio Martins
2021-02-11 18:52:21 +00:00
parent c0957024ec
commit 64db52fd17
4 changed files with 53 additions and 50 deletions

View File

@@ -155,15 +155,6 @@ namespace KDDockWidgets
const DefaultSizeMode sizeMode = DefaultSizeMode::Fair;
};
///@internal
enum FrameOption {
FrameOption_None = 0,
FrameOption_AlwaysShowsTabs = 1,
FrameOption_IsCentralFrame = 2,
FrameOption_IsOverlayed = 4
};
Q_DECLARE_FLAGS(FrameOptions, FrameOption)
enum RestoreOption {
RestoreOption_None = 0,
RestoreOption_RelativeToMainWindow = 1, ///< Skips restoring the main window geometry and the restored dock widgets will use relative sizing.
@@ -177,24 +168,6 @@ namespace KDDockWidgets
None ///< Don't show any drop indicators while dragging
};
///@internal
inline QString locationStr(Location loc)
{
switch (loc) {
case KDDockWidgets::Location_None:
return QStringLiteral("none");
case KDDockWidgets::Location_OnLeft:
return QStringLiteral("left");
case KDDockWidgets::Location_OnTop:
return QStringLiteral("top");
case KDDockWidgets::Location_OnRight:
return QStringLiteral("right");
case KDDockWidgets::Location_OnBottom:
return QStringLiteral("bottom");
}
return QString();
}
/// @brief Each main window supports 4 sidebars
enum class SideBarLocation {
@@ -221,6 +194,49 @@ namespace KDDockWidgets
{
return ::qHash(static_cast<uint>(loc), seed);
}
///@internal
enum CursorPosition {
CursorPosition_Undefined = 0,
CursorPosition_Left = 1,
CursorPosition_Right = 2,
CursorPosition_Top = 4,
CursorPosition_Bottom = 8,
CursorPosition_TopLeft = CursorPosition_Top | CursorPosition_Left,
CursorPosition_TopRight = CursorPosition_Top | CursorPosition_Right,
CursorPosition_BottomRight = CursorPosition_Bottom | CursorPosition_Right,
CursorPosition_BottomLeft = CursorPosition_Bottom | CursorPosition_Left,
CursorPosition_All = CursorPosition_Left | CursorPosition_Right | CursorPosition_Top | CursorPosition_Bottom
};
Q_DECLARE_FLAGS(CursorPositions, CursorPosition)
///@internal
enum FrameOption {
FrameOption_None = 0,
FrameOption_AlwaysShowsTabs = 1,
FrameOption_IsCentralFrame = 2,
FrameOption_IsOverlayed = 4
};
Q_DECLARE_FLAGS(FrameOptions, FrameOption)
///@internal
inline QString locationStr(Location loc)
{
switch (loc) {
case KDDockWidgets::Location_None:
return QStringLiteral("none");
case KDDockWidgets::Location_OnLeft:
return QStringLiteral("left");
case KDDockWidgets::Location_OnTop:
return QStringLiteral("top");
case KDDockWidgets::Location_OnRight:
return QStringLiteral("right");
case KDDockWidgets::Location_OnBottom:
return QStringLiteral("bottom");
}
return QString();
}
}
QT_BEGIN_NAMESPACE

View File

@@ -56,7 +56,7 @@ public:
return m_options & MainWindowOption_HasCentralFrame;
}
WidgetResizeHandler::CursorPositions allowedResizeSides(SideBarLocation loc) const;
CursorPositions allowedResizeSides(SideBarLocation loc) const;
QRect rectForOverlay(Frame *, SideBarLocation) const;
SideBarLocation preferredSideBar(DockWidgetBase *) const;
@@ -187,25 +187,25 @@ void MainWindowBase::layoutParentContainerEqually(DockWidgetBase *dockWidget)
dropArea()->layoutParentContainerEqually(dockWidget);
}
WidgetResizeHandler::CursorPositions MainWindowBase::Private::allowedResizeSides(SideBarLocation loc) const
CursorPositions MainWindowBase::Private::allowedResizeSides(SideBarLocation loc) const
{
// When a sidebar is on top, you can only resize its bottom.
// and so forth...
switch (loc) {
case SideBarLocation::North:
return WidgetResizeHandler::CursorPosition_Bottom;
return CursorPosition_Bottom;
case SideBarLocation::East:
return WidgetResizeHandler::CursorPosition_Left;
return CursorPosition_Left;
case SideBarLocation::West:
return WidgetResizeHandler::CursorPosition_Right;
return CursorPosition_Right;
case SideBarLocation::South:
return WidgetResizeHandler::CursorPosition_Top;
return CursorPosition_Top;
case SideBarLocation::None:
return WidgetResizeHandler::CursorPosition_Undefined;
return CursorPosition_Undefined;
}
return WidgetResizeHandler::CursorPosition_Undefined;
return CursorPosition_Undefined;
}
QRect MainWindowBase::Private::rectForOverlay(Frame *frame, SideBarLocation location) const

View File

@@ -422,7 +422,7 @@ void WidgetResizeHandler::restoreMouseCursor()
mTarget->setCursor(Qt::ArrowCursor);
}
WidgetResizeHandler::CursorPosition WidgetResizeHandler::cursorPosition(QPoint globalPos) const
CursorPosition WidgetResizeHandler::cursorPosition(QPoint globalPos) const
{
if (!mTarget)
return CursorPosition_Undefined;

View File

@@ -14,6 +14,7 @@
#include "QWidgetAdapter.h"
#include "Qt5Qt6Compat_p.h"
#include "kddockwidgets/KDDockWidgets.h"
#include <QPoint>
#include <QDebug>
@@ -31,20 +32,6 @@ class WidgetResizeHandler : public QObject
Q_OBJECT
public:
enum CursorPosition {
CursorPosition_Undefined = 0,
CursorPosition_Left = 1,
CursorPosition_Right = 2,
CursorPosition_Top = 4,
CursorPosition_Bottom = 8,
CursorPosition_TopLeft = CursorPosition_Top | CursorPosition_Left,
CursorPosition_TopRight = CursorPosition_Top | CursorPosition_Right,
CursorPosition_BottomRight = CursorPosition_Bottom | CursorPosition_Right,
CursorPosition_BottomLeft = CursorPosition_Bottom | CursorPosition_Left,
CursorPosition_All = CursorPosition_Left | CursorPosition_Right | CursorPosition_Top | CursorPosition_Bottom
};
Q_DECLARE_FLAGS(CursorPositions, CursorPosition)
/**
* @brief CTOR
* @param target The target widget that will be resized. Also acts as parent QObject.