MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QFont f("unexistent"); f.setStyleHint(QFont::Monospace); ui->ui_inputPlainTextEdit->setFont(f); ui->ui_outputPlainTextEdit->setFont(f); setCurrentPath(QString()); setModified(false); connect(ui->ui_sourceEditTableWidget, SIGNAL(cursorPositionChanged(int,int)), this, SLOT(cursorPositionChanged(int,int))); connect(ui->ui_sourceEditTableWidget, SIGNAL(textChanged()), this, SLOT(textChanged())); connect(ui->ui_newFileAction, SIGNAL(triggered()), this, SLOT(newFile())); connect(ui->ui_openFileAction, SIGNAL(triggered()), this, SLOT(openFile())); connect(ui->ui_saveFileAction, SIGNAL(triggered()), this, SLOT(saveFile())); connect(ui->ui_saveAsAction, SIGNAL(triggered()), this, SLOT(saveFileAs())); connect(ui->ui_quitAction, SIGNAL(triggered()), this, SLOT(close())); connect(ui->ui_setInterpreterAction, SIGNAL(triggered()), this, SLOT(setInterpreter())); connect(ui->ui_runInterpreterAction, SIGNAL(triggered()), this, SLOT(runInterpreter())); }
void luaInterpreterWrapper::initEnvironment(const Time &t) { assertParallel("initEnvironment"); Pbug << "initEnvironment" << endl; setInterpreter(); lua_pushstring(luaState_,"notAFunctionObject"); lua_setglobal(luaState_,"functionObjectName"); lua_pushstring(luaState_,getEnv("FOAM_CASE").c_str()); lua_setglobal(luaState_,"caseDir"); lua_pushstring(luaState_,(t.path()/t.caseSystem()).c_str()); lua_setglobal(luaState_,"systemDir"); lua_pushstring(luaState_,(t.path()/t.caseConstant()).c_str()); lua_setglobal(luaState_,"constantDir"); lua_pushstring(luaState_,(t.path()/t.constant()/"polyMesh").c_str()); lua_setglobal(luaState_,"meshDir"); if(Pstream::parRun()) { lua_pushstring(luaState_,t.path().c_str()); lua_setglobal(luaState_,"procDir"); } lua_pushboolean(luaState_,Pstream::parRun()); lua_setglobal(luaState_,"parRun"); lua_pushinteger(luaState_,Pstream::myProcNo()); lua_setglobal(luaState_,"myProcNo"); releaseInterpreter(); }
void luaInterpreterWrapper::setRunTime(const Time &time) { assertParallel("setRunTime"); Pbug << "setRunTime " << time.timeName() << endl; setInterpreter(); lua_pushnumber(luaState_,time.value()); lua_setglobal(luaState_,"runTime"); lua_pushnumber(luaState_,time.endTime().value()); lua_setglobal(luaState_,"endTime"); lua_pushnumber(luaState_,time.deltaT().value()); lua_setglobal(luaState_,"deltaT"); lua_pushnumber(luaState_,time.deltaT0().value()); lua_setglobal(luaState_,"deltaT0"); lua_pushboolean(luaState_,time.outputTime()); lua_setglobal(luaState_,"outputTime"); lua_pushstring(luaState_,time.timeName().c_str()); lua_setglobal(luaState_,"timeName"); lua_pushstring(luaState_,(time.path()/time.timeName()).c_str()); lua_setglobal(luaState_,"timeDir"); lua_pushinteger(luaState_,time.timeIndex()); lua_setglobal(luaState_,"timeIndex"); releaseInterpreter(); }
pythonIntegrationFunctionObject::pythonIntegrationFunctionObject ( const word& name, const Time& t, const dictionary& dict ) : simpleFunctionObject( name, t, dict ), pythonInterpreterWrapper( t.db(), dict ), time_(t) { Pbug << "Constructor" << endl; if(!parallelNoRun()) { initEnvironment(t); setInterpreter(); PyObject *m = PyImport_AddModule("__main__"); PyObject_SetAttrString( m, "functionObjectName", PyString_FromString(this->name().c_str()) ); releaseInterpreter(); setRunTime(); } read(dict); }
pythonFluIntegrationFunctionObject::pythonFluIntegrationFunctionObject ( const word& name, const Time& t, const dictionary& dict ) : pythonIntegrationFunctionObject(name,t,dict) { if(!executeCode("import Foam",false)) { FatalErrorIn("pythonFluIntegrationFunctionObject::pythonFluIntegrationFunctionObject") << "Python can not import module Foam. Probably no pythonFlu installed" << endl << exit(FatalError); } executeCode("import Foam.OpenFOAM as OpenFOAM",false,true); executeCode("import Foam.finiteVolume as finiteVolume",false,true); executeCode("from Foam.integrationHelpers.getObjectsFromPointers import getTimeFromPtr",false,true); // this should work, but doesn't // executeCode("from Foam.src.OpenFOAM.db.Time.Time import getTimeFromPtrOld as getTimeFromPtr",false,true); // This works if(!parallelNoRun()) { setInterpreter(); PyObject *time=PyCObject_FromVoidPtr((void*)(&t),NULL); PyObject *m = PyImport_AddModule("__main__"); PyObject_SetAttrString(m,"theTime",time); executeCode("time=getTimeFromPtr(theTime)",true,false); // Get rid of the helper stuff PyRun_SimpleString("del theTime"); PyRun_SimpleString("del getTimeFromPtr"); releaseInterpreter(); } }