void AliasUnit::reenableAllTriggers() { typedef list<TAlias *>::const_iterator I; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; pChild->enableFamily(); } }
void AliasUnit::stopAllTriggers() { typedef list<TAlias *>::const_iterator I; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; QString name = pChild->getName(); pChild->disableFamily(); } }
void AliasUnit::compileAll() { typedef list<TAlias *>::const_iterator I; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; if( pChild->isActive() ) { pChild->compileAll(); } } }
bool AliasUnit::disableAlias( QString & name ) { bool found = false; QMap<QString, TAlias *>::const_iterator it = mLookupTable.find( name ); while( it != mLookupTable.end() && it.key() == name ) { TAlias * pT = it.value(); pT->setIsActive( false ); ++it; found = true; } return found; }
void AliasUnit::dump() { //bool ret = true; typedef list<TAlias *>::const_iterator I; cout << "AliasUnit::dump() entries="<<mAliasRootNodeList.size()<<endl; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; pChild->DumpFamily(); } }
void AliasUnit::_assembleReport( TAlias * pChild ) { typedef list<TAlias *>::const_iterator I; list<TAlias*> * childrenList = pChild->mpMyChildrenList; for( I it2 = childrenList->begin(); it2 != childrenList->end(); it2++) { TAlias * pT = *it2; _assembleReport( pT ); if( pT->isActive() ) statsActiveAliass++; if( pT->isTempAlias() ) statsTempAliass++; statsAliasTotal++; } }
void AliasUnit::compileAll() { typedef list<TAlias *>::const_iterator I; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; if( pChild->isActive() ) { pChild->compileAll(); } } // for( int i=0; i<uninstallList.size(); i++ ) // { // unregisterAlias(uninstallList[i]); // } }
void dlgPackageExporter::recurseAliases(TAlias* item, QTreeWidgetItem* qItem){ list<TAlias *> * childList = item->getChildrenList(); if (!childList->size()) return; list<TAlias *>::iterator it; for(it=childList->begin(); it!=childList->end();it++){ TAlias * pChild = *it; if (pChild->isTempAlias()) continue; 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); qItem->addChild(pItem); aliasMap.insert(pItem, pChild); recurseAliases(pChild, pItem); } }
void dlgPackageExporter::listAliases() { AliasUnit* tu = mpHost->getAliasUnit(); list<TAlias *>::const_iterator it; std::list<TAlias *> tList = tu->getAliasRootNodeList(); QList<QTreeWidgetItem *> items = treeWidget->findItems(QString("Aliases"), Qt::MatchExactly, 0); QTreeWidgetItem * top = items.first(); for(it = tList.begin(); it != tList.end(); it++) { TAlias * 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); top->addChild(pItem); aliasMap.insert(pItem, pChild); recurseAliases(pChild, pItem); } }
void AliasUnit::reParentAlias( int childID, int oldParentID, int newParentID, int parentPosition, int childPosition ) { TAlias * pOldParent = getAliasPrivate( oldParentID ); TAlias * pNewParent = getAliasPrivate( newParentID ); TAlias * pChild = getAliasPrivate( childID ); if( ! pChild ) { return; } if( pOldParent ) { pOldParent->popChild( pChild ); } else { mAliasRootNodeList.remove( pChild ); } if( pNewParent ) { pNewParent->addChild( pChild, parentPosition, childPosition ); if( pChild ) pChild->setParent( pNewParent ); //cout << "dumping family of newParent:"<<endl; //pNewParent->Dump(); } else { pChild->Tree<TAlias>::setParent( 0 ); addAliasRootNode( pChild, parentPosition, childPosition, true ); } }
bool AliasUnit::killAlias( QString & name ) { typedef list<TAlias *>::const_iterator I; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; if( pChild->getName() == name ) { // only temporary Aliass can be killed if( ! pChild->isTempAlias() ) { return false; } else { pChild->setIsActive( false ); markCleanup( pChild ); return true; } } } return false; }
bool AliasUnit::processDataStream( QString & data ) { TLuaInterpreter * Lua = mpHost->getLuaInterpreter(); QString lua_command_string = "command"; Lua->set_lua_string( lua_command_string, data ); bool state = false; typedef list<TAlias *>::const_iterator I; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; // = data.replace( "\n", "" ); if( pChild->match( data ) ) { state = true; } } // the idea to get "command" after alias processing is finished and send its value // was too difficult for users because if multiple alias change the value of command it becomes too difficult to handle for many users // it's easier if we simply intercepts the command and hand responsibility for // sending a command to the user scripts. //data = Lua->get_lua_string( lua_command_string ); return state; }
QString AliasUnit::assembleReport() { statsActiveAliass = 0; statsAliasTotal = 0; statsTempAliass = 0; typedef list<TAlias *>::const_iterator I; for( I it = mAliasRootNodeList.begin(); it != mAliasRootNodeList.end(); it++) { TAlias * pChild = *it; if( pChild->isActive() ) statsActiveAliass++; if( pChild->isTempAlias() ) statsTempAliass++; statsAliasTotal++; list<TAlias*> * childrenList = pChild->mpMyChildrenList; for( I it2 = childrenList->begin(); it2 != childrenList->end(); it2++) { TAlias * pT = *it2; _assembleReport( pT ); if( pT->isActive() ) statsActiveAliass++; if( pT->isTempAlias() ) statsTempAliass++; statsAliasTotal++; } } QStringList msg; msg << "Aliass current total: " << QString::number(statsAliasTotal) << "\n" << "tempAliass current total: " << QString::number(statsTempAliass) << "\n" << "active Aliass: " << QString::number(statsActiveAliass) << "\n"; /*<< "active Aliass max this session: " << QString::number(statsActiveAliassMax) << "\n" << "active Aliass min this session: " << QString::number(statsActiveAliassMin) << "\n" << "active Aliass average this session: " << QString::number(statsActiveAliassAverage) << "\n"*/ //<< "tempAliass created this session: " << QString::number(statsTempAliassCreated) << "\n" //<< "tempAliass killed this session: " << QString::number(statsTempAliassKilled) << "\n" //<< "current total regex Aliass: " << QString::number(statsRegexAliass) << "\n" //<< "average line processing time: " << QString::number(statsAverageLineProcessingTime) << "\n" //<< "max line processing time: " << QString::number(statsMaxLineProcessingTime) << "\n" //<< "min line processing time: " << QString::number(statsMinLineProcessingTime) << "\n"; return msg.join(""); }
void XMLimport::readAliasGroup( TAlias * pParent ) { TAlias * pT; if( pParent ) { pT = new TAlias( pParent, mpHost ); } else { pT = new TAlias( 0, mpHost ); } mpHost->getAliasUnit()->registerAlias( pT ); pT->setIsActive( ( attributes().value("isActive") == "yes" ) ); pT->mIsFolder = ( attributes().value("isFolder") == "yes" ); if (module) pT->mModuleMember = true; while( ! atEnd() ) { readNext(); if( isEndElement() ) break; if( isStartElement() ) { if( name() == "name" ) { pT->setName( readElementText() ); continue; } else if( name() == "packageName") { pT->mPackageName = readElementText(); continue; } else if( name() == "script") { QString script = readElementText(); pT->setScript( script ); continue; } else if( name() == "command") { pT->mCommand = readElementText(); continue; } else if( name() == "regex") { pT->setRegexCode( readElementText() ); continue; } else if( name() == "AliasGroup" ) { readAliasGroup( pT ); } else if( name() == "Alias" ) { readAliasGroup( pT ); } else { readUnknownAliasElement(); } } } }
bool XMLexport::writeHost( Host * pT ) { writeStartElement( "Host" ); writeAttribute( "autoClearCommandLineAfterSend", pT->mAutoClearCommandLineAfterSend ? "yes" : "no" ); writeAttribute( "disableAutoCompletion", pT->mDisableAutoCompletion ? "yes" : "no" ); writeAttribute( "printCommand", pT->mPrintCommand ? "yes" : "no" ); writeAttribute( "USE_IRE_DRIVER_BUGFIX", pT->mUSE_IRE_DRIVER_BUGFIX ? "yes" : "no" ); writeAttribute( "mUSE_FORCE_LF_AFTER_PROMPT", pT->mUSE_FORCE_LF_AFTER_PROMPT ? "yes" : "no" ); writeAttribute( "mUSE_UNIX_EOL", pT->mUSE_UNIX_EOL ? "yes" : "no" ); writeAttribute( "mNoAntiAlias", pT->mNoAntiAlias ? "yes" : "no" ); writeAttribute( "mRawStreamDump", pT->mRawStreamDump ? "yes" : "no" ); writeAttribute( "mAlertOnNewData", pT->mAlertOnNewData ? "yes" : "no" ); writeAttribute( "mFORCE_NO_COMPRESSION", pT->mFORCE_NO_COMPRESSION ? "yes" : "no" ); writeAttribute( "mFORCE_GA_OFF", pT->mFORCE_GA_OFF ? "yes" : "no" ); writeAttribute( "mFORCE_SAVE_ON_EXIT", pT->mFORCE_SAVE_ON_EXIT ? "yes" : "no" ); writeAttribute( "mEnableGMCP", pT->mEnableGMCP ? "yes" : "no" ); writeAttribute( "mMapStrongHighlight", pT->mMapStrongHighlight ? "yes" : "no" ); writeAttribute( "mLogStatus", pT->mLogStatus ? "yes" : "no" ); writeAttribute( "mEnableSpellCheck", pT->mEnableSpellCheck ? "yes" : "no" ); writeAttribute( "mShowInfo", pT->mShowInfo ? "yes" : "no" ); writeAttribute( "mAcceptServerGUI", pT->mAcceptServerGUI ? "yes" : "no" ); writeAttribute( "mMapperUseAntiAlias", pT->mMapperUseAntiAlias ? "yes" : "no" ); writeAttribute( "mFORCE_MXP_NEGOTIATION_OFF", pT->mFORCE_MXP_NEGOTIATION_OFF ? "yes" : "no" ); writeTextElement( "name", pT->mHostName ); //writeTextElement( "login", pT->mLogin ); //writeTextElement( "pass", pT->mPass ); writeStartElement( "mInstalledPackages" ); for( int i=0; i<pT->mInstalledPackages.size(); i++ ) { writeTextElement( "string", pT->mInstalledPackages[i] ); } writeEndElement(); writeTextElement( "url", pT->mUrl ); writeTextElement( "serverPackageName", pT->mServerGUI_Package_name ); writeTextElement( "serverPackageVersion", QString::number(pT->mServerGUI_Package_version ) ); writeTextElement( "port", QString::number(pT->mPort) ); writeTextElement( "borderTopHeight", QString::number(pT->mBorderTopHeight) ); writeTextElement( "borderBottomHeight", QString::number(pT->mBorderBottomHeight) ); writeTextElement( "borderLeftWidth", QString::number(pT->mBorderLeftWidth) ); writeTextElement( "borderRightWidth", QString::number(pT->mBorderRightWidth) ); writeTextElement( "wrapAt", QString::number(pT->mWrapAt) ); writeTextElement( "wrapIndentCount", QString::number(pT->mWrapIndentCount) ); writeTextElement( "commandSeperator", pT->mCommandSeperator ); writeTextElement( "mFgColor", pT->mFgColor.name() ); writeTextElement( "mBgColor", pT->mBgColor.name() ); writeTextElement( "mCommandFgColor", pT->mCommandFgColor.name() ); writeTextElement( "mCommandBgColor", pT->mCommandBgColor.name() ); writeTextElement( "mCommandLineFgColor", pT->mCommandLineFgColor.name() ); writeTextElement( "mCommandLineBgColor", pT->mCommandLineBgColor.name() ); writeTextElement( "mBlack", pT->mBlack.name() ); writeTextElement( "mLightBlack", pT->mLightBlack.name() ); writeTextElement( "mRed", pT->mRed.name() ); writeTextElement( "mLightRed", pT->mLightRed.name() ); writeTextElement( "mBlue", pT->mBlue.name() ); writeTextElement( "mLightBlue", pT->mLightBlue.name() ); writeTextElement( "mGreen", pT->mGreen.name() ); writeTextElement( "mLightGreen", pT->mLightGreen.name() ); writeTextElement( "mYellow", pT->mYellow.name() ); writeTextElement( "mLightYellow", pT->mLightYellow.name() ); writeTextElement( "mCyan", pT->mCyan.name() ); writeTextElement( "mLightCyan", pT->mLightCyan.name() ); writeTextElement( "mMagenta", pT->mMagenta.name() ); writeTextElement( "mLightMagenta", pT->mLightMagenta.name() ); writeTextElement( "mWhite", pT->mWhite.name() ); writeTextElement( "mLightWhite", pT->mLightWhite.name() ); writeTextElement( "mDisplayFont", pT->mDisplayFont.toString() ); writeTextElement( "mCommandLineFont", pT->mCommandLineFont.toString() ); writeTextElement( "mCommandSeparator", pT->mCommandSeparator ); writeTextElement( "commandLineMinimumHeight", QString::number(pT->commandLineMinimumHeight) ); writeTextElement( "mFgColor2", pT->mFgColor_2.name() ); writeTextElement( "mBgColor2", pT->mBgColor_2.name() ); writeTextElement( "mBlack2", pT->mBlack_2.name() ); writeTextElement( "mLightBlack2", pT->mLightBlack_2.name() ); writeTextElement( "mRed2", pT->mRed_2.name() ); writeTextElement( "mLightRed2", pT->mLightRed_2.name() ); writeTextElement( "mBlue2", pT->mBlue_2.name() ); writeTextElement( "mLightBlue2", pT->mLightBlue_2.name() ); writeTextElement( "mGreen2", pT->mGreen_2.name() ); writeTextElement( "mLightGreen2", pT->mLightGreen_2.name() ); writeTextElement( "mYellow2", pT->mYellow_2.name() ); writeTextElement( "mLightYellow2", pT->mLightYellow_2.name() ); writeTextElement( "mCyan2", pT->mCyan_2.name() ); writeTextElement( "mLightCyan2", pT->mLightCyan_2.name() ); writeTextElement( "mMagenta2", pT->mMagenta_2.name() ); writeTextElement( "mLightMagenta2", pT->mLightMagenta_2.name() ); writeTextElement( "mWhite2", pT->mWhite_2.name() ); writeTextElement( "mLightWhite2", pT->mLightWhite_2.name() ); writeTextElement( "mSpellDic", pT->mSpellDic ); writeTextElement( "mLineSize", QString::number(pT->mLineSize) ); writeTextElement( "mRoomSize", QString::number(pT->mRoomSize) ); writeEndElement(); // end Host tag writeEndElement(); // end HostPackage tag writeStartElement( "TriggerPackage" ); bool ret = true; typedef list<TTrigger *>::const_iterator ItTriggerUnit; for( ItTriggerUnit it1 = pT->mTriggerUnit.mTriggerRootNodeList.begin(); it1 != pT->mTriggerUnit.mTriggerRootNodeList.end(); it1++) { TTrigger * pChildTrigger = *it1; if( ! pChildTrigger ) continue; if( ! pChildTrigger->isTempTrigger() ) { ret = writeTrigger( pChildTrigger ); } } writeEndElement(); //end trigger package tag writeStartElement("TimerPackage"); typedef list<TTimer *>::const_iterator ItTimerUnit; for( ItTimerUnit it2 = pT->mTimerUnit.mTimerRootNodeList.begin(); it2 != pT->mTimerUnit.mTimerRootNodeList.end(); it2++) { TTimer * pChildTimer = *it2; if( ! pChildTimer->isTempTimer() ) { ret = writeTimer( pChildTimer ); } } writeEndElement(); writeStartElement("AliasPackage"); typedef list<TAlias *>::const_iterator ItAliasUnit; for( ItAliasUnit it3 = pT->mAliasUnit.mAliasRootNodeList.begin(); it3 != pT->mAliasUnit.mAliasRootNodeList.end(); it3++) { TAlias * pChildAlias = *it3; if( ! pChildAlias->isTempAlias() ) { ret = writeAlias( pChildAlias ); } } writeEndElement(); writeStartElement("ActionPackage"); typedef list<TAction *>::const_iterator ItActionUnit; for( ItActionUnit it4 = pT->mActionUnit.mActionRootNodeList.begin(); it4 != pT->mActionUnit.mActionRootNodeList.end(); it4++) { TAction * pChildAction = *it4; ret = writeAction( pChildAction ); } writeEndElement(); writeStartElement("ScriptPackage"); typedef list<TScript *>::const_iterator ItScriptUnit; for( ItScriptUnit it5 = pT->mScriptUnit.mScriptRootNodeList.begin(); it5 != pT->mScriptUnit.mScriptRootNodeList.end(); it5++) { TScript * pChildScript = *it5; ret = writeScript( pChildScript ); } writeEndElement(); writeStartElement("KeyPackage"); typedef list<TKey *>::const_iterator ItKeyUnit; for( ItKeyUnit it6 = pT->mKeyUnit.mKeyRootNodeList.begin(); it6 != pT->mKeyUnit.mKeyRootNodeList.end(); it6++) { TKey * pChildKey = *it6; ret = writeKey( pChildKey ); } writeEndElement(); return ret; }
bool XMLexport::writeHost( Host * pT ) { writeStartElement( "Host" ); writeAttribute( "autoClearCommandLineAfterSend", pT->mAutoClearCommandLineAfterSend ? "yes" : "no" ); writeAttribute( "disableAutoCompletion", pT->mDisableAutoCompletion ? "yes" : "no" ); writeAttribute( "printCommand", pT->mPrintCommand ? "yes" : "no" ); writeAttribute( "USE_IRE_DRIVER_BUGFIX", pT->mUSE_IRE_DRIVER_BUGFIX ? "yes" : "no" ); writeAttribute( "mUSE_FORCE_LF_AFTER_PROMPT", pT->mUSE_FORCE_LF_AFTER_PROMPT ? "yes" : "no" ); writeAttribute( "mUSE_UNIX_EOL", pT->mUSE_UNIX_EOL ? "yes" : "no" ); writeAttribute( "mNoAntiAlias", pT->mNoAntiAlias ? "yes" : "no" ); writeAttribute( "mRawStreamDump", pT->mRawStreamDump ? "yes" : "no" ); writeAttribute( "mAlertOnNewData", pT->mAlertOnNewData ? "yes" : "no" ); writeAttribute( "mFORCE_NO_COMPRESSION", pT->mFORCE_NO_COMPRESSION ? "yes" : "no" ); writeAttribute( "mFORCE_GA_OFF", pT->mFORCE_GA_OFF ? "yes" : "no" ); writeAttribute( "mFORCE_SAVE_ON_EXIT", pT->mFORCE_SAVE_ON_EXIT ? "yes" : "no" ); writeAttribute( "mEnableGMCP", pT->mEnableGMCP ? "yes" : "no" ); writeAttribute( "mMapStrongHighlight", pT->mMapStrongHighlight ? "yes" : "no" ); writeAttribute( "mLogStatus", pT->mLogStatus ? "yes" : "no" ); writeAttribute( "mEnableSpellCheck", pT->mEnableSpellCheck ? "yes" : "no" ); writeAttribute( "mShowInfo", pT->mShowInfo ? "yes" : "no" ); writeAttribute( "mAcceptServerGUI", pT->mAcceptServerGUI ? "yes" : "no" ); writeAttribute( "mMapperUseAntiAlias", pT->mMapperUseAntiAlias ? "yes" : "no" ); writeAttribute( "mFORCE_MXP_NEGOTIATION_OFF", pT->mFORCE_MXP_NEGOTIATION_OFF ? "yes" : "no" ); writeAttribute( "mRoomSize", QString::number(pT->mRoomSize)); writeAttribute( "mLineSize", QString::number(pT->mLineSize)); writeAttribute( "mBubbleMode", pT->mBubbleMode ? "yes" : "no"); writeAttribute( "mShowRoomIDs", pT->mShowRoomID ? "yes" : "no"); writeAttribute( "mShowPanel", pT->mShowPanel ? "yes" : "no"); writeAttribute( "mHaveMapperScript", pT->mHaveMapperScript ? "yes" : "no"); QString ignore; QSetIterator<QChar> it(pT->mDoubleClickIgnore); while( it.hasNext() ) { ignore = ignore.append(it.next()); } writeAttribute( "mDoubleClickIgnore", ignore); writeTextElement( "name", pT->mHostName ); //writeTextElement( "login", pT->mLogin ); //writeTextElement( "pass", pT->mPass ); writeStartElement( "mInstalledPackages" ); for( int i=0; i<pT->mInstalledPackages.size(); i++ ) { writeTextElement( "string", pT->mInstalledPackages[i] ); } writeEndElement(); if (pT->mInstalledModules.size()){ qDebug()<<"installed module being done"; writeStartElement( "mInstalledModules" ); QMapIterator<QString, QStringList> it(pT->mInstalledModules); pT->modulesToWrite.clear(); while( it.hasNext() ) { it.next(); writeTextElement("key", it.key()); QStringList entry = it.value(); qDebug()<<"XMLexport"<<entry[0]<<","<<entry[1]; writeTextElement("filepath", entry[0]); writeTextElement("globalSave", entry[1]); if (entry[1].toInt()){ qDebug()<<"adding module to write list:"<<it.key(); pT->modulesToWrite[it.key()] = entry; } writeTextElement("priority", QString::number(pT->mModulePriorities[it.key()])); } writeEndElement(); } writeTextElement( "url", pT->mUrl ); writeTextElement( "serverPackageName", pT->mServerGUI_Package_name ); writeTextElement( "serverPackageVersion", QString::number(pT->mServerGUI_Package_version ) ); writeTextElement( "port", QString::number(pT->mPort) ); writeTextElement( "borderTopHeight", QString::number(pT->mBorderTopHeight) ); writeTextElement( "borderBottomHeight", QString::number(pT->mBorderBottomHeight) ); writeTextElement( "borderLeftWidth", QString::number(pT->mBorderLeftWidth) ); writeTextElement( "borderRightWidth", QString::number(pT->mBorderRightWidth) ); writeTextElement( "wrapAt", QString::number(pT->mWrapAt) ); writeTextElement( "wrapIndentCount", QString::number(pT->mWrapIndentCount) ); writeTextElement( "commandSeperator", pT->mCommandSeperator ); writeTextElement( "mFgColor", pT->mFgColor.name() ); writeTextElement( "mBgColor", pT->mBgColor.name() ); writeTextElement( "mCommandFgColor", pT->mCommandFgColor.name() ); writeTextElement( "mCommandBgColor", pT->mCommandBgColor.name() ); writeTextElement( "mCommandLineFgColor", pT->mCommandLineFgColor.name() ); writeTextElement( "mCommandLineBgColor", pT->mCommandLineBgColor.name() ); writeTextElement( "mBlack", pT->mBlack.name() ); writeTextElement( "mLightBlack", pT->mLightBlack.name() ); writeTextElement( "mRed", pT->mRed.name() ); writeTextElement( "mLightRed", pT->mLightRed.name() ); writeTextElement( "mBlue", pT->mBlue.name() ); writeTextElement( "mLightBlue", pT->mLightBlue.name() ); writeTextElement( "mGreen", pT->mGreen.name() ); writeTextElement( "mLightGreen", pT->mLightGreen.name() ); writeTextElement( "mYellow", pT->mYellow.name() ); writeTextElement( "mLightYellow", pT->mLightYellow.name() ); writeTextElement( "mCyan", pT->mCyan.name() ); writeTextElement( "mLightCyan", pT->mLightCyan.name() ); writeTextElement( "mMagenta", pT->mMagenta.name() ); writeTextElement( "mLightMagenta", pT->mLightMagenta.name() ); writeTextElement( "mWhite", pT->mWhite.name() ); writeTextElement( "mLightWhite", pT->mLightWhite.name() ); writeTextElement( "mDisplayFont", pT->mDisplayFont.toString() ); writeTextElement( "mCommandLineFont", pT->mCommandLineFont.toString() ); writeTextElement( "mCommandSeparator", pT->mCommandSeparator ); writeTextElement( "commandLineMinimumHeight", QString::number(pT->commandLineMinimumHeight) ); writeTextElement( "mFgColor2", pT->mFgColor_2.name() ); writeTextElement( "mBgColor2", pT->mBgColor_2.name() ); writeTextElement( "mBlack2", pT->mBlack_2.name() ); writeTextElement( "mLightBlack2", pT->mLightBlack_2.name() ); writeTextElement( "mRed2", pT->mRed_2.name() ); writeTextElement( "mLightRed2", pT->mLightRed_2.name() ); writeTextElement( "mBlue2", pT->mBlue_2.name() ); writeTextElement( "mLightBlue2", pT->mLightBlue_2.name() ); writeTextElement( "mGreen2", pT->mGreen_2.name() ); writeTextElement( "mLightGreen2", pT->mLightGreen_2.name() ); writeTextElement( "mYellow2", pT->mYellow_2.name() ); writeTextElement( "mLightYellow2", pT->mLightYellow_2.name() ); writeTextElement( "mCyan2", pT->mCyan_2.name() ); writeTextElement( "mLightCyan2", pT->mLightCyan_2.name() ); writeTextElement( "mMagenta2", pT->mMagenta_2.name() ); writeTextElement( "mLightMagenta2", pT->mLightMagenta_2.name() ); writeTextElement( "mWhite2", pT->mWhite_2.name() ); writeTextElement( "mLightWhite2", pT->mLightWhite_2.name() ); writeTextElement( "mSpellDic", pT->mSpellDic ); writeTextElement( "mLineSize", QString::number(pT->mLineSize) ); writeTextElement( "mRoomSize", QString::number(pT->mRoomSize) ); writeEndElement(); // end Host tag writeEndElement(); // end HostPackage tag writeStartElement( "TriggerPackage" ); bool ret = true; typedef list<TTrigger *>::const_iterator ItTriggerUnit; for( ItTriggerUnit it1 = pT->mTriggerUnit.mTriggerRootNodeList.begin(); it1 != pT->mTriggerUnit.mTriggerRootNodeList.end(); it1++) { TTrigger * pChildTrigger = *it1; if( ! pChildTrigger || pChildTrigger->mModuleMember) continue; if( ! pChildTrigger->isTempTrigger()) { ret = writeTrigger( pChildTrigger ); } } writeEndElement(); //end trigger package tag writeStartElement("TimerPackage"); typedef list<TTimer *>::const_iterator ItTimerUnit; for( ItTimerUnit it2 = pT->mTimerUnit.mTimerRootNodeList.begin(); it2 != pT->mTimerUnit.mTimerRootNodeList.end(); it2++) { TTimer * pChildTimer = *it2; if (pChildTimer->mModuleMember) continue; if( ! pChildTimer->isTempTimer()) { ret = writeTimer( pChildTimer ); } } writeEndElement(); writeStartElement("AliasPackage"); typedef list<TAlias *>::const_iterator ItAliasUnit; for( ItAliasUnit it3 = pT->mAliasUnit.mAliasRootNodeList.begin(); it3 != pT->mAliasUnit.mAliasRootNodeList.end(); it3++) { TAlias * pChildAlias = *it3; if (pChildAlias->mModuleMember) continue; if( ! pChildAlias->isTempAlias()) { ret = writeAlias( pChildAlias ); } } writeEndElement(); writeStartElement("ActionPackage"); typedef list<TAction *>::const_iterator ItActionUnit; for( ItActionUnit it4 = pT->mActionUnit.mActionRootNodeList.begin(); it4 != pT->mActionUnit.mActionRootNodeList.end(); it4++) { TAction * pChildAction = *it4; if (pChildAction->mModuleMember) continue; ret = writeAction( pChildAction ); } writeEndElement(); writeStartElement("ScriptPackage"); typedef list<TScript *>::const_iterator ItScriptUnit; for( ItScriptUnit it5 = pT->mScriptUnit.mScriptRootNodeList.begin(); it5 != pT->mScriptUnit.mScriptRootNodeList.end(); it5++) { TScript * pChildScript = *it5; if (pChildScript->mModuleMember) continue; ret = writeScript( pChildScript ); } writeEndElement(); writeStartElement("KeyPackage"); typedef list<TKey *>::const_iterator ItKeyUnit; for( ItKeyUnit it6 = pT->mKeyUnit.mKeyRootNodeList.begin(); it6 != pT->mKeyUnit.mKeyRootNodeList.end(); it6++) { TKey * pChildKey = *it6; if (pChildKey->mModuleMember) continue; ret = writeKey( pChildKey ); } writeEndElement(); writeStartElement("VariablePackage"); LuaInterface * lI = pT->getLuaInterface(); VarUnit * vu = lI->getVarUnit(); //do hidden variables first writeStartElement("HiddenVariables"); QSetIterator<QString> it8( vu->hiddenByUser ); while( it8.hasNext() ) { writeTextElement( "name", it8.next() ); } writeEndElement(); TVar * base = vu->getBase(); QListIterator<TVar *> it7( base->getChildren() ); while( it7.hasNext() ) { TVar * var = it7.next(); writeVariable( var, lI, vu ); } writeEndElement(); return ret; }
bool XMLexport::writeGenericPackage( Host * pT ) { writeStartElement( "TriggerPackage" ); bool ret = true; typedef list<TTrigger *>::const_iterator ItTriggerUnit; for( ItTriggerUnit it1 = pT->mTriggerUnit.mTriggerRootNodeList.begin(); it1 != pT->mTriggerUnit.mTriggerRootNodeList.end(); it1++) { TTrigger * pChildTrigger = *it1; if( ! pChildTrigger ) continue; if( ! pChildTrigger->isTempTrigger()) { ret = writeTrigger( pChildTrigger ); } } writeEndElement(); //end trigger package tag writeStartElement("TimerPackage"); typedef list<TTimer *>::const_iterator ItTimerUnit; for( ItTimerUnit it2 = pT->mTimerUnit.mTimerRootNodeList.begin(); it2 != pT->mTimerUnit.mTimerRootNodeList.end(); it2++) { TTimer * pChildTimer = *it2; if( ! pChildTimer->isTempTimer()) { ret = writeTimer( pChildTimer ); } } writeEndElement(); writeStartElement("AliasPackage"); typedef list<TAlias *>::const_iterator ItAliasUnit; for( ItAliasUnit it3 = pT->mAliasUnit.mAliasRootNodeList.begin(); it3 != pT->mAliasUnit.mAliasRootNodeList.end(); it3++) { TAlias * pChildAlias = *it3; if( ! pChildAlias->isTempAlias()) { ret = writeAlias( pChildAlias ); } } writeEndElement(); writeStartElement("ActionPackage"); typedef list<TAction *>::const_iterator ItActionUnit; for( ItActionUnit it4 = pT->mActionUnit.mActionRootNodeList.begin(); it4 != pT->mActionUnit.mActionRootNodeList.end(); it4++) { TAction * pChildAction = *it4; ret = writeAction( pChildAction ); } writeEndElement(); writeStartElement("ScriptPackage"); typedef list<TScript *>::const_iterator ItScriptUnit; for( ItScriptUnit it5 = pT->mScriptUnit.mScriptRootNodeList.begin(); it5 != pT->mScriptUnit.mScriptRootNodeList.end(); it5++) { TScript * pChildScript = *it5; ret = writeScript( pChildScript ); } writeEndElement(); writeStartElement("KeyPackage"); typedef list<TKey *>::const_iterator ItKeyUnit; for( ItKeyUnit it6 = pT->mKeyUnit.mKeyRootNodeList.begin(); it6 != pT->mKeyUnit.mKeyRootNodeList.end(); it6++) { TKey * pChildKey = *it6; ret = writeKey( pChildKey ); } writeEndElement(); return ret; }
bool XMLexport::writeModuleXML( QIODevice * device, QString moduleName){ setDevice(device); qDebug()<<moduleName; writeStartDocument(); writeDTD("<!DOCTYPE MudletPackage>"); writeStartElement( "MudletPackage" ); writeAttribute("version", "1.0"); qDebug()<<"starting writeModule routine"; writeStartElement( "TriggerPackage" ); Host * pT = mpHost; bool ret = true; int nodesWritten = 0; //we go a level down for all these functions so as to not infinitely nest the module typedef list<TTrigger *>::const_iterator ItTriggerUnit; for( ItTriggerUnit it1 = pT->mTriggerUnit.mTriggerRootNodeList.begin(); it1 != pT->mTriggerUnit.mTriggerRootNodeList.end(); it1++ ) { TTrigger * pChildTrigger = *it1; if( ! pChildTrigger || pChildTrigger->mPackageName != moduleName ) continue; if( ! pChildTrigger->isTempTrigger() && pChildTrigger->mModuleMember ) { bool result = writeTrigger( pChildTrigger ); if( ! result ) ret = false; nodesWritten+=1; } } if( ! nodesWritten ) writeEndElement(); //end trigger package tag nodesWritten=0; writeStartElement( "TimerPackage" ); typedef list<TTimer *>::const_iterator ItTimerUnit; for( ItTimerUnit it2 = pT->mTimerUnit.mTimerRootNodeList.begin(); it2 != pT->mTimerUnit.mTimerRootNodeList.end(); it2++ ) { TTimer * pChildTimer = *it2; if( ! pChildTimer || pChildTimer->mPackageName != moduleName ) continue; if( ! pChildTimer->isTempTimer() && pChildTimer->mModuleMember ) { bool result = writeTimer( pChildTimer ); if( ! result ) ret = false; nodesWritten+=1; } } if( ! nodesWritten ) writeEndElement(); //end trigger package tag nodesWritten=0; writeStartElement( "AliasPackage" ); typedef list<TAlias *>::const_iterator ItAliasUnit; for( ItAliasUnit it3 = pT->mAliasUnit.mAliasRootNodeList.begin(); it3 != pT->mAliasUnit.mAliasRootNodeList.end(); it3++ ) { TAlias * pChildAlias = *it3; if( ! pChildAlias || pChildAlias->mPackageName != moduleName ) continue; if( ! pChildAlias->isTempAlias() && pChildAlias->mModuleMember ) { bool result = writeAlias( pChildAlias ); if( ! result ) ret = false; nodesWritten+=1; } } if( ! nodesWritten ) writeEndElement(); //end trigger package tag nodesWritten=0; writeStartElement( "ActionPackage" ); typedef list<TAction *>::const_iterator ItActionUnit; for( ItActionUnit it4 = pT->mActionUnit.mActionRootNodeList.begin(); it4 != pT->mActionUnit.mActionRootNodeList.end(); it4++ ) { TAction * pChildAction = *it4; if( ! pChildAction || pChildAction->mPackageName != moduleName ) continue; if( pChildAction->mModuleMember ) { bool result = writeAction( pChildAction ); if( ! result ) ret = false; nodesWritten+=1; } } if( ! nodesWritten ) writeEndElement(); //end trigger package tag nodesWritten=0; writeStartElement( "ScriptPackage" ); typedef list<TScript *>::const_iterator ItScriptUnit; for( ItScriptUnit it5 = pT->mScriptUnit.mScriptRootNodeList.begin(); it5 != pT->mScriptUnit.mScriptRootNodeList.end(); it5++ ) { TScript * pChildScript = *it5; if( ! pChildScript || pChildScript->mPackageName != moduleName ) continue; if( pChildScript->mModuleMember ) { bool result = writeScript( pChildScript ); if( ! result ) ret = false; nodesWritten+=1; } } if( ! nodesWritten ) writeEndElement(); //end trigger package tag nodesWritten=0; writeStartElement( "KeyPackage" ); typedef list<TKey *>::const_iterator ItKeyUnit; for( ItKeyUnit it6 = pT->mKeyUnit.mKeyRootNodeList.begin(); it6 != pT->mKeyUnit.mKeyRootNodeList.end(); it6++ ) { TKey * pChildKey = *it6; if( ! pChildKey || pChildKey->mPackageName != moduleName ) continue; if( pChildKey->mModuleMember ) { bool result = writeKey( pChildKey ); if( ! result ) ret = false; nodesWritten+=1; } } if( ! nodesWritten ) writeEndElement(); //end trigger package tag nodesWritten=0; writeStartElement( "HelpPackage" ); if( mpHost->moduleHelp.contains(moduleName) && mpHost->moduleHelp[moduleName].contains("helpURL") ) writeTextElement( "helpURL", mpHost->moduleHelp[moduleName]["helpURL"]); else writeTextElement( "helpURL", ""); writeEndElement(); //end trigger package tag writeEndElement();//end hostpackage writeEndElement();//MudletPackage writeEndDocument(); return ret; }