##// END OF EJS Templates
SREC File parser working....
SREC File parser working. SREC Viewer working. Added toSREC function in elfFile class. codeFragment to SREC converter also working. All these objects also have Python bindings.

File last commit:

r0:1aa783210b8e default
r45:c6b44a3b51fa default
Show More
NicePyConsole.cpp
72 lines | 1.8 KiB | text/x-c | CppLexer
Jeandet Alexis
First init of SocExplorer Repository.
r0 /*! \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;
}