logplus/logPlus/QCPSizeHandleManager.h

39 lines
1.0 KiB
C
Raw Normal View History

#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;
};