#include "qcustomplot.h" #include "QCPSizeHandle.h" struct ControlItemData { bool showHandlesLines; bool moveable; bool resizeable; QPen connectHandlePen; QList 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 items, bool showHandlesLines = false); public slots: void handleItemMove(QCPAbstractItem *item, const QPointF &delta); void handleItemResize(QCPSizeHandle *sizeHandle, const QPointF &delta); protected: QMap mHandles; QCPSizeHandle *addHandleToPosition(QCPItemPosition *position); virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; };