DiagramDesigner/diagramCavas/include/graphicsItem/handleText.h

37 lines
881 B
C++

#ifndef HANDLETEXT_H
#define HANDLETEXT_H
#include <QFont>
#include "graphicsItem/itemControlHandle.h"
int const TEXT_WIDTH = 30;
int const TEXT_HEIGHT = 15;
class QGraphicsProxyWidget;
class HandleText : public ItemControlHandle
{
Q_OBJECT
public:
HandleText(QGraphicsItem *parent);
virtual ~HandleText();
virtual void setText(QString) override;
virtual QString getText() const override;
void creatEditor(); //创建editor编辑文本
void setEditable(bool b){_editable = b;}
signals:
void editFinish(const QString&);
protected:
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
virtual QRectF boundingRect() const override;
private:
QString _text;
QFont _font;
QRectF _boundingRect;
QGraphicsProxyWidget* _proxy;
bool _editable;
};
#endif