Plasma
svgwidget.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PLASMA_SVGWIDGET_H
00021 #define PLASMA_SVGWIDGET_H
00022
00023 #include <QtGui/QGraphicsWidget>
00024
00025 #include <plasma/plasma_export.h>
00026
00027 #include <plasma/plasma.h>
00028
00029 namespace Plasma
00030 {
00031
00032 class Svg;
00033 class SvgWidgetPrivate;
00034
00035 class PLASMA_EXPORT SvgWidget : public QGraphicsWidget
00036 {
00037 Q_OBJECT
00038
00039 Q_PROPERTY(Svg *svg READ svg WRITE setSvg)
00040 Q_PROPERTY(QString elementID READ elementID WRITE setElementID)
00041
00042 public:
00043 explicit SvgWidget(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0);
00044 explicit SvgWidget(Svg *svg, const QString & elementID = QString(),
00045 QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0);
00046 virtual ~SvgWidget();
00047
00048 virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * event );
00049
00050 void setSvg(Svg *svg);
00051 Svg *svg() const;
00052
00053 void setElementID(const QString &elementID);
00054 QString elementID() const;
00055
00056 Q_SIGNALS:
00057 void clicked(Qt::MouseButton);
00058
00059 protected:
00060 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
00061
00062 private:
00063 SvgWidgetPrivate * const d;
00064 };
00065
00066 }
00067
00068 #endif // multiple inclusion guard