Kross
plugin.cpp
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 #include "plugin.h"
00021 #include "values_p.h"
00022
00023 #include "../core/manager.h"
00024
00025 #include <QDebug>
00026
00027 using namespace Kross;
00028
00029 Q_EXPORT_PLUGIN2(krossqtsplugin, Kross::EcmaPlugin)
00030
00031 namespace Kross {
00032
00034 class EcmaPlugin::Private
00035 {
00036 public:
00037 QScriptValue manager;
00038 };
00039
00040 }
00041
00042 EcmaPlugin::EcmaPlugin(QObject* parent)
00043 : QScriptExtensionPlugin(parent)
00044 , d(new Private)
00045 {
00046
00047 }
00048
00049 EcmaPlugin::~EcmaPlugin()
00050 {
00051
00052 delete d;
00053 }
00054
00055 void EcmaPlugin::initialize(const QString& key, QScriptEngine* engine)
00056 {
00057 if( key.toLower() == "kross" ) {
00058 QScriptValue global = engine->globalObject();
00059
00060
00061 d->manager = engine->newQObject( &Kross::Manager::self() );
00062 global.setProperty("Kross", d->manager);
00063
00064 initializeCore(engine);
00065 initializeGui(engine);
00066 }
00067 else
00068 qDebug()<<QString("Plugin::initialize unhandled key=%1").arg(key);
00069 }
00070
00071 QStringList EcmaPlugin::keys() const
00072 {
00073
00074 return QStringList() << "kross";
00075 }
00076