Files
Qt-Advanced-Docking-System/src/ResizeHandle.h

91 lines
2.1 KiB
C++

#ifndef ResizeHandleH
#define ResizeHandleH
//============================================================================
/// \file ResizeHandle.h
/// \author Uwe Kindler
/// \date 24.10.2022
/// \brief Declaration of CResizeHandle class
//============================================================================
//============================================================================
// INCLUDES
//============================================================================
#include <QFrame>
namespace ads
{
struct ResizeHandlePrivate;
/**
* Resize handle for resizing its parent widget
*/
class CResizeHandle : public QFrame
{
Q_OBJECT
Q_DISABLE_COPY(CResizeHandle)
private:
ResizeHandlePrivate* d; ///< private data (pimpl)
friend struct ResizeHandlePrivate;
protected:
void mouseMoveEvent(QMouseEvent *) override;
void mousePressEvent(QMouseEvent *) override;
void mouseReleaseEvent(QMouseEvent *) override;
public:
using Super = QFrame;
/**
* Default Constructor
*/
CResizeHandle(Qt::Edge HandlePosition, QWidget* parent);
/**
* Virtual Destructor
*/
virtual ~CResizeHandle();
/**
* Sets the handle position
*/
void setHandlePosition(Qt::Edge HandlePosition);
/**
* Returns the handle position
*/
Qt::Edge handlePostion() const;
/**
* Returns the orientation of this resize handle
*/
Qt::Orientation orientation() const;
/**
* Returns the size hint
*/
QSize sizeHint() const override;
/**
* Returns true, if resizing is active
*/
bool isResizing() const;
/**
* Sets the minimum size for the widget that is going to be resized.
* The resize handle will not resize the target widget to a size smaller
* than this value
*/
void setMinResizeSize(int MinSize);
/**
* Sets the maximum size for the widget that is going to be resized
* The resize handle will not resize the target widget to a size bigger
* than this value
*/
void setMaxResizeSize(int MaxSize);
}; // class name
}
// namespace ads
//-----------------------------------------------------------------------------
#endif // ResizeHandleH