##// END OF EJS Templates
Fixed bug 388...
Fixed bug 388 Added cassini FGM download from Time table files. Fixed smal issue on export function. Some Work on QLop database.

File last commit:

r5:92e4585e8fab default
r14:0e9217f77498 default
Show More
pythonconsole.cpp
89 lines | 2.3 KiB | text/x-c | CppLexer
Added Python Console and some Wrappers....
r5 #include "pythonconsole.h"
#include <QPushButton>
#include <QFile>
#include <QTextStream>
#include <QCustomPlot/qcustomplot.h>
#include <PythonQt.h>
#include <qlop.h>
//void PythonQt_init_PySocExplorer(PyObject* module);
//void PythonQt_init_PySocExplorerEngine(PyObject* module) ;
void PythonQt_init_PyQLop(PyObject* module);
PythonConsole::PythonConsole(QWidget *parent) :
QWidget(parent)
{
//PythonQt::init();
PythonQt::init(PythonQt::RedirectStdOut);
PythonQt_QtAll::init();
this->mainlayout = new QHBoxLayout;
this->mainContext = new PythonQtObjectPtr(PythonQt::self()->getMainModule());
this->mainContext->addVariable(QString("PYMODULES"),QVariant(QString(PYMODULES)));
this->console = new PythonQtScriptingConsoleDandD(NULL, PythonQt::self()->getMainModule());
this->mainlayout->addWidget(this->console);
this->setWindowTitle(tr("Python Scripting Console"));
this->setAcceptDrops(true);
this->setLayout(this->mainlayout);
connect(this->console,SIGNAL(pyConsoleRunFiles(QStringList)),this,SLOT(pyConsoleRunFiles(QStringList)));
// PythonQt_init_PySocExplorer(0);
// PythonQt_init_PySocExplorerEngine(0);
PythonQt_init_PyQLop(0);
this->mainContext->evalScript(QString("from PythonQt import *"));
}
void PythonConsole::addObject(const QString& name, QObject* object)
{
this->mainContext->addObject(name, object);
}
void PythonConsole::removeVariable(const QString& name)
{
this->mainContext->removeVariable(name);
}
void PythonConsole::registerObject(QObject* object,const QString& instanceName)
{
this->mainContext->addObject(instanceName,object);
}
void PythonConsole::pyConsoleRunFiles(const QStringList & pathList)
{
for (int i = 0; i < pathList.size() && i < 32; ++i)
{
this->pyConsoleRunFile(pathList.at(i));
}
}
void PythonConsole::pyConsoleRunFile(const QString& fileName)
{
QString code;
QFile file;
QFileInfo fileinfo;
code.clear();
file.setFileName(fileName);
fileinfo.setFile(fileName);
if(!fileinfo.suffix().compare("py"))
{
QString CMD="execfile(\'"+fileName+"\')";
this->console->executePythonCommand(CMD);
}
}
QSize PythonConsole::sizeHint()
{
return QSize(800,80);
}