libplasma
appletscript.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_APPLETSCRIPT_H
00021 #define PLASMA_APPLETSCRIPT_H
00022
00023
00024 #include <QtCore/QObject>
00025 #include <QtCore/QRect>
00026 #include <QtCore/QSizeF>
00027
00028 #include <KDE/KGenericFactory>
00029
00030 #include <plasma/plasma_export.h>
00031 #include <plasma/scripting/scriptengine.h>
00032
00033 class QAction;
00034 class QPainter;
00035 class QStyleOptionGraphicsItem;
00036
00037 namespace Plasma
00038 {
00039
00040 class AppletScriptPrivate;
00041
00042 class PLASMA_EXPORT AppletScript : public ScriptEngine
00043 {
00044 Q_OBJECT
00045
00046 public:
00054 explicit AppletScript(QObject *parent = 0);
00055 ~AppletScript();
00056
00060 void setApplet(Plasma::Applet *applet);
00061
00065 Plasma::Applet* applet() const;
00066
00073 virtual void paintInterface(QPainter* painter,
00074 const QStyleOptionGraphicsItem* option,
00075 const QRect &contentsRect);
00076
00080 Q_INVOKABLE QSizeF size() const;
00081
00093 virtual void constraintsEvent(Plasma::Constraints constraints);
00094
00101 virtual QList<QAction*> contextualActions();
00102
00106 virtual QPainterPath shape() const;
00107
00108 public Q_SLOTS:
00109
00113 virtual void showConfigurationInterface();
00114
00115 protected:
00120 Q_INVOKABLE DataEngine* dataEngine(const QString &engine) const;
00121
00125 QString mainScript() const;
00126
00132 const Package* package() const;
00133
00134 private:
00135 AppletScriptPrivate * const d;
00136 };
00137
00138 #define K_EXPORT_PLASMA_APPLETSCRIPTENGINE(libname, classname) \
00139 K_PLUGIN_FACTORY(factory, registerPlugin<classname>();) \
00140 K_EXPORT_PLUGIN(factory("plasma_appletscriptengine_" #libname))
00141
00142 }
00143
00144 #endif