39 lines
1.0 KiB
C++
39 lines
1.0 KiB
C++
#include "qcustomplot.h"
|
|
#include "QCPSizeHandle.h"
|
|
|
|
struct ControlItemData {
|
|
bool showHandlesLines;
|
|
bool moveable;
|
|
bool resizeable;
|
|
QPen connectHandlePen;
|
|
QList<QCPSizeHandle*> handles;
|
|
|
|
//ControlItemData();
|
|
};
|
|
|
|
class QCP_LIB_DECL QCPSizeHandleManager : public QCPLayerable
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit QCPSizeHandleManager(QCustomPlot *parent);
|
|
~QCPSizeHandleManager();
|
|
|
|
void addItem(QCPAbstractItem *item, bool showHandlesLines = false);
|
|
//void addItems(const QList<QCPAbstractItem *> items, bool showHandlesLines = false);
|
|
|
|
public slots:
|
|
void handleItemMove(QCPAbstractItem *item, const QPointF &delta);
|
|
void handleItemResize(QCPSizeHandle *sizeHandle, const QPointF &delta);
|
|
|
|
protected:
|
|
|
|
|
|
QMap<QCPAbstractItem *, ControlItemData> mHandles;
|
|
|
|
QCPSizeHandle *addHandleToPosition(QCPItemPosition *position);
|
|
|
|
virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE;
|
|
virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE;
|
|
};
|
|
|