##// 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
NicePyConsole.cpp
72 lines | 1.8 KiB | text/x-c | CppLexer
/*! \file NicePyConsole.cpp
* \brief implements NicePyConsole
* \author "Melven Zoellner" <melven@topen.org>
*
*/
#include "NicePyConsole.h"
#include "PygmentsHighlighter.h"
#include "PythonCompleter.h"
#include <QDebug>
// anonymous namespace to wrap the pythonqt input callback
namespace
{
QString pythonQtInputCallback(void* that)
{
return ((NicePyConsole*)that)->waitForUserInput();
}
}
NicePyConsole::NicePyConsole(QWidget *parent, const PythonQtObjectPtr &context) :
SimpleConsole(parent)
{
_context = context;
// connect output
connect(PythonQt::self(), SIGNAL(pythonStdOut(QString)),
this, SLOT(output(QString)));
connect(PythonQt::self(), SIGNAL(pythonStdErr(QString)),
this, SLOT(output(QString)));
// connect command execution
connect(this, SIGNAL(execute(QString)),
this, SLOT(executePythonCommand(QString)));
// setup input callback
// ugly hack?
PythonQtInputChangedCB *callback = pythonQtInputCallback;
PythonQt::self()->setRedirectStdInCallback(callback, this);
PythonQt::self()->setRedirectStdInCallbackEnabled(true);
// create the highlighter
_highlighter = new PygmentsHighlighter(this->document());
// create the completer
_completer = new PythonCompleter(this, _context);
setCompleter(_completer);
// insert first prompt:
insertPrompt(true);
}
NicePyConsole::~NicePyConsole()
{
// remove input callback
PythonQt::self()->setRedirectStdInCallbackEnabled(true);
PythonQt::self()->setRedirectStdInCallback(NULL);
}
int NicePyConsole::executePythonCommand(QString cmd)
{
// skip empty strings
if( cmd == "" )
return 0;
PythonQt::self()->getMainModule().evalScript(QString(cmd));
return 0;
}