125 lines
3.0 KiB
C++
125 lines
3.0 KiB
C++
|
|
#include "qgscopepython.h"
|
|
|
|
#include "qgscopeworkbench.h"
|
|
#include "qgpythonsandbox.h"
|
|
#include "qgpythonconsoledockwidget.h"
|
|
|
|
#include "qglogger.h"
|
|
//#include "qgpython.h"
|
|
|
|
#include "qgscopechrono.h"
|
|
|
|
class QgScopePythonAdaptor: public QgScopeScriptSiteAdaptor
|
|
{
|
|
public:
|
|
virtual void registerObject(const QString& name, QObject* obj)
|
|
{
|
|
QgScopeScriptSiteAdaptor::registerObject(name, obj);
|
|
}
|
|
};
|
|
|
|
QgScopePython::QgScopePython(QObject *parent) : QObject(parent)
|
|
{
|
|
}
|
|
|
|
void QgScopePython::activate()
|
|
{
|
|
QgPythonSandbox::enable(true);
|
|
QgPythonSandbox::loadSettings();
|
|
|
|
QgPythonSandbox sb;
|
|
|
|
QgScopeWorkbench& wb=QgScopeWorkbench::instance();
|
|
|
|
if (sb.isEnabled())
|
|
wb.mainWindow()->addDockWidget(Qt::BottomDockWidgetArea, new QgPythonConsoleDockWidget);
|
|
|
|
wb.setScriptSiteAdptor(pythonScriptAdaptor());
|
|
|
|
//QgPython::instance().mainModule().addObject("chrono", &QgScopeChrono::instance());
|
|
sb.addObject("chrono", &QgScopeChrono::instance());
|
|
//QgPython::instance().mainModule().addObject("wb", &wb);
|
|
sb.addObject("wb", &wb);
|
|
}
|
|
|
|
void QgScopePython::createApplicationMainModule(const QString& moduleName)
|
|
{
|
|
//QgPython::instance().createMainApplicationModule(moduleName);
|
|
QgPythonSandbox sb;
|
|
sb.createAppModule(moduleName);
|
|
}
|
|
|
|
|
|
QgScopeScriptSiteAdaptor* QgScopePython::pythonScriptAdaptor()
|
|
{
|
|
static QgScopePythonAdaptor pyAdaptor;
|
|
return &pyAdaptor;
|
|
}
|
|
|
|
|
|
void QgScopeScriptSiteAdaptor::registerObject(const QString& name, QObject* obj)
|
|
{
|
|
QgLogger logger("PYSCOPE");
|
|
|
|
//QgPython::instance().mainModule().addObject(name, obj);
|
|
QgPythonSandbox sb;
|
|
sb.addObject(name, obj);
|
|
logger.info("Registered object: "+name);
|
|
}
|
|
|
|
#if 0
|
|
#include "qgscopepython.h"
|
|
|
|
#include "qgscopeworkbench.h"
|
|
#include "qgpythonconsoledockwidget.h"
|
|
|
|
#include "qglogger.h"
|
|
#include "qgpython.h"
|
|
|
|
#include "qgscopechrono.h"
|
|
|
|
class QgScopePythonAdaptor: public QgScopeScriptSiteAdaptor
|
|
{
|
|
public:
|
|
virtual void registerObject(const QString& name, QObject* obj)
|
|
{
|
|
QgScopeScriptSiteAdaptor::registerObject(name, obj);
|
|
}
|
|
};
|
|
|
|
QgScopePython::QgScopePython(QObject *parent) : QObject(parent)
|
|
{
|
|
}
|
|
|
|
void QgScopePython::activate()
|
|
{
|
|
QgScopeWorkbench& wb=QgScopeWorkbench::instance();
|
|
wb.mainWindow()->addDockWidget(Qt::BottomDockWidgetArea, new QgPythonConsoleDockWidget);
|
|
wb.setScriptSiteAdptor(pythonScriptAdaptor());
|
|
QgPython::instance().mainModule().addObject("chrono", &QgScopeChrono::instance());
|
|
QgPython::instance().mainModule().addObject("wb", &wb);
|
|
}
|
|
|
|
void QgScopePython::createApplicationMainModule(const QString& moduleName)
|
|
{
|
|
QgPython::instance().createMainApplicationModule(moduleName);
|
|
}
|
|
|
|
|
|
QgScopeScriptSiteAdaptor* QgScopePython::pythonScriptAdaptor()
|
|
{
|
|
static QgScopePythonAdaptor pyAdaptor;
|
|
return &pyAdaptor;
|
|
}
|
|
|
|
|
|
void QgScopeScriptSiteAdaptor::registerObject(const QString& name, QObject* obj)
|
|
{
|
|
QgLogger logger("PYSCOPE");
|
|
|
|
QgPython::instance().mainModule().addObject(name, obj);
|
|
logger.info("Registered object: "+name);
|
|
}
|
|
#endif
|