From 1c91abba1778a898d4f55bf5bea94d5158ccc441 Mon Sep 17 00:00:00 2001 From: "Aaron J. Seigo" Date: Thu, 29 Nov 2007 04:30:48 +0000 Subject: [PATCH] export the class, clean up the api svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742874 --- applet.cpp | 2 +- scriptengine.cpp | 11 +++++++++-- scriptengine.h | 17 ++++++++++++++--- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/applet.cpp b/applet.cpp index 0473943d2..265a3541f 100644 --- a/applet.cpp +++ b/applet.cpp @@ -865,7 +865,7 @@ void Applet::paintInterface(QPainter *painter, const QStyleOptionGraphicsItem *o Q_UNUSED(contentsRect) if (d->scriptEngine) { - d->scriptEngine->paintInterface(painter, option); + d->scriptEngine->paintInterface(painter, option, contentsRect); } else { //kDebug() << "Applet::paintInterface() default impl"; } diff --git a/scriptengine.cpp b/scriptengine.cpp index 9af298df1..947f351c5 100644 --- a/scriptengine.cpp +++ b/scriptengine.cpp @@ -55,13 +55,14 @@ void ScriptEngine::init(Applet* applet) } } -void ScriptEngine::paintInterface(QPainter* painter, const QStyleOptionGraphicsItem* option) +void ScriptEngine::paintInterface(QPainter* painter, const QStyleOptionGraphicsItem* option, const QRect &contentsRect) { Q_UNUSED(painter) Q_UNUSED(option) + Q_UNUSED(contentsRect) } -QSizeF ScriptEngine::size() +QSizeF ScriptEngine::size() const { return QSizeF(0, 0); } @@ -84,6 +85,12 @@ Applet* ScriptEngine::applet() const return d->applet; } +DataEngine* ScriptEngine::dataEngine(const QString &engine) const +{ + Q_ASSERT(d->applet); + return d->applet->dataEngine(engine); +} + const Package* ScriptEngine::package() const { Q_ASSERT(d->applet); diff --git a/scriptengine.h b/scriptengine.h index 7ddd2e453..1d37f1d8a 100644 --- a/scriptengine.h +++ b/scriptengine.h @@ -20,7 +20,10 @@ #ifndef PLASMA_SCRIPTENGINE_H #define PLASMA_SCRIPTENGINE_H +#include + #include +#include #include class QPainter; @@ -31,6 +34,7 @@ namespace Plasma class Applet; class Package; +class DataEngine; /** * @brief The base class for scripting interfaces to be used in loading @@ -46,7 +50,7 @@ class Package; * LoadImage - loads an image resource out of the plasmoid's package * PlasmaSvg - creates and returns an Svg file **/ -class ScriptEngine : public QObject +class PLASMA_EXPORT ScriptEngine : public QObject { Q_OBJECT @@ -81,12 +85,12 @@ public: * @param painter the QPainter to use * @param option the style option containing such flags as selection, level of detail, etc **/ - virtual void paintInterface(QPainter* painter, const QStyleOptionGraphicsItem* option); + virtual void paintInterface(QPainter* painter, const QStyleOptionGraphicsItem* option, const QRect &contentsRect); /** * @return the size of the applet **/ - virtual QSizeF size(); + virtual QSizeF size() const; protected: /** @@ -112,6 +116,13 @@ protected: **/ Applet* applet() const; + /** + * @return a data engine associated with this plasmoid + * + * @arg engine name of the engine + */ + Q_INVOKABLE DataEngine* dataEngine(const QString &engine) const; + private: class Private; Private * const d;