You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.3 KiB
C++
63 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <QRectF>
|
|
#include <QPointF>
|
|
#include "ZxSimpleTool.h"
|
|
#include "Defines.h"
|
|
|
|
#include "iPlotCurveT_global.h"
|
|
|
|
class ZxRenderItem;
|
|
class ZxObjBase;
|
|
|
|
/// 工具类的再次封装
|
|
class I_PLOTCURVE_T_EXPORT ZxObjToolBase : public ZxSimpleTool
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
ZxObjToolBase();
|
|
// ~ZxObjToolBase();
|
|
|
|
void setChartObj(ZxObjBase* pObj);
|
|
|
|
public:
|
|
|
|
virtual bool onLeftDown(const QPointF& pt);
|
|
virtual bool onLeftUp(const QPointF& pt);
|
|
virtual bool onRightDown(const QPointF& pt);
|
|
virtual bool onRightUp(const QPointF& pt);
|
|
virtual bool onMouseMove(const QPointF& pt);
|
|
virtual bool onMouseWheel(const QPointF& pt, int delta);
|
|
virtual void onPaint(QPainter* painter,
|
|
const ZxPaintParam& param);
|
|
virtual void onPaintHandles(QPainter* painter,
|
|
const ZxPaintParam& param);
|
|
|
|
|
|
protected:
|
|
virtual Qt::CursorShape getCursorBy(const int& nOption,
|
|
const int& nSubIndex);
|
|
virtual void changeCursor(Qt::CursorShape oShape, bool bMoveActivated = false);
|
|
virtual void restoreCursor();
|
|
|
|
protected:
|
|
|
|
ZxObjBase* m_pObj;
|
|
|
|
// 鼠标交互相关
|
|
bool m_bTracking;
|
|
QRectF m_rtTracker;
|
|
QPointF m_ptStart;
|
|
QPointF m_ptMove;
|
|
|
|
ObjHitOption m_oHitOption;
|
|
|
|
Qt::CursorShape m_oOldShape;
|
|
};
|
|
|
|
|
|
|
|
|