00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef LABEL_H
00021 #define LABEL_H
00022
00023
00024 #include "gui/editor/item.h"
00025
00026 #include <QtGui/QGraphicsTextItem>
00027 #include <QtGui/QPainterPath>
00028 #include <QtGui/QPen>
00029
00030
00031 namespace qsapecng
00032 {
00033
00034
00035 class SchematicScene;
00036
00037
00038 class Label: public Item
00039 {
00040
00041 public:
00042 enum { Hook = 10 };
00043
00044 public:
00045 Label(QGraphicsItem* parent = 0, SchematicScene* scene = 0);
00046
00047 inline ItemType itemType() const { return Item::Label; }
00048
00049 QRectF boundingRect() const;
00050 void paint(
00051 QPainter* painter,
00052 const QStyleOptionGraphicsItem* option,
00053 QWidget* widget
00054 );
00055
00056 QString text() const;
00057 void setText(const QString& label);
00058
00059 protected:
00060 void focusInEvent(QFocusEvent* event);
00061 void focusOutEvent(QFocusEvent* event);
00062
00063 private:
00064 qreal penWidth() const;
00065
00066 QGraphicsTextItem label_;
00067 QPainterPath path_;
00068
00069 };
00070
00071
00072 }
00073
00074
00075 #endif // LABEL_H