void XMLimport::readScriptGroup( TScript * pParent ) { TScript * pT; if( pParent ) { pT = new TScript( pParent, mpHost ); } else { pT = new TScript( 0, mpHost ); } mpHost->getScriptUnit()->registerScript( pT ); pT->setIsActive( ( attributes().value("isActive") == "yes" ) ); pT->mIsFolder = ( attributes().value("isFolder") == "yes" ); while( ! atEnd() ) { readNext(); if( isEndElement() ) break; if( isStartElement() ) { if( name() == "name" ) { pT->mName = readElementText(); continue; } else if( name() == "packageName") { pT->mPackageName = readElementText(); continue; } else if( name() == "script") { QString script = readElementText(); pT->setScript( script ); continue; } else if( name() == "eventHandlerList") { readStringList( pT->mEventHandlerList ); pT->setEventHandlerList( pT->mEventHandlerList ); continue; } else if( name() == "ScriptGroup" ) { readScriptGroup( pT ); } else if( name() == "Script" ) { readScriptGroup( pT ); } else { readUnknownScriptElement(); } } } }
void ScriptUnit::stopAllTriggers() { typedef list<TScript *>::const_iterator I; for( I it = mScriptRootNodeList.begin(); it != mScriptRootNodeList.end(); it++) { TScript * pChild = *it; pChild->setIsActive( false ); } }
void TScript::compileAll() { compile(); typedef list<TScript *>::const_iterator I; for( I it = mpMyChildrenList->begin(); it != mpMyChildrenList->end(); it++) { TScript * pChild = *it; pChild->compileAll(); } }
void ScriptUnit::compileAll() { typedef list<TScript *>::const_iterator I; for( I it = mScriptRootNodeList.begin(); it != mScriptRootNodeList.end(); it++) { TScript * pChild = *it; if( pChild->isActive() ) { pChild->compileAll(); } } }
bool TFxSprite::CreateBatch( TSpriteRef parent, str particlebatch ) { bool success = true; TScript * s = new TScript(); lua_pushlightuserdata(s->GetState(),parent.get()); lua_setglobal(s->GetState(),"gParent"); ScriptRegisterMemberFunctor(s,"CreateFx",(TFxSprite*)NULL,TFxSprite::CreateFx); success = s->RunScript(particlebatch); delete s; return success; }
void TScript::compile() { if( mNeedsToBeCompiled || mpHost->mResetProfile ) { if( ! compileScript() ) { if( mudlet::debugMode ) {TDebug(QColor(Qt::white),QColor(Qt::red))<<"ERROR: Lua compile error. compiling script of script:"<<mName<<"\n">>0;} mOK_code = false; } } typedef list<TScript *>::const_iterator I; for( I it = mpMyChildrenList->begin(); it != mpMyChildrenList->end(); it++) { TScript * pChild = *it; pChild->compile(); } }
void dlgPackageExporter::recurseScripts(TScript* item, QTreeWidgetItem* qItem){ list<TScript *> * childList = item->getChildrenList(); if (!childList->size()) return; list<TScript *>::iterator it; for(it=childList->begin(); it!=childList->end();it++){ TScript * pChild = *it; QStringList sl; sl << pChild->getName(); QTreeWidgetItem * pItem = new QTreeWidgetItem(sl); pItem->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsTristate|Qt::ItemIsEnabled|Qt::ItemIsSelectable); pItem->setCheckState(0, Qt::Unchecked); scriptMap.insert(pItem, pChild); qItem->addChild(pItem); recurseScripts(pChild, pItem); } }
void dlgPackageExporter::listScripts() { ScriptUnit* tu = mpHost->getScriptUnit(); list<TScript *>::const_iterator it; std::list<TScript *> tList = tu->getScriptRootNodeList(); QList<QTreeWidgetItem *> items = treeWidget->findItems(QString("Scripts"), Qt::MatchExactly, 0); QTreeWidgetItem * top = items.first(); for(it = tList.begin(); it != tList.end(); it++) { TScript * pChild = *it; QStringList sl; sl << pChild->getName(); QTreeWidgetItem * pItem = new QTreeWidgetItem(sl); pItem->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsTristate|Qt::ItemIsEnabled|Qt::ItemIsSelectable); pItem->setCheckState(0, Qt::Unchecked); scriptMap.insert(pItem, pChild); top->addChild(pItem); recurseScripts(pChild, pItem); } }
void ScriptUnit::reParentScript( int childID, int oldParentID, int newParentID, int parentPosition, int childPosition ) { TScript * pOldParent = getScriptPrivate( oldParentID ); TScript * pNewParent = getScriptPrivate( newParentID ); TScript * pChild = getScriptPrivate( childID ); if( ! pChild ) { return; } if( pOldParent ) { pOldParent->popChild( pChild ); } if( ! pOldParent ) { removeScriptRootNode( pChild ); } if( pNewParent ) { pNewParent->addChild( pChild, parentPosition, childPosition ); if( pChild ) pChild->setParent( pNewParent ); //cout << "dumping family of newParent:"<<endl; //pNewParent->Dump(); } else { pChild->Tree<TScript>::setParent( 0 ); addScriptRootNode( pChild, parentPosition, childPosition ); } }