void SatellitesPlugin::initialize() { // FIXME: remove the const_cast, it may be best to create a new type of // plugins where marbleModel() is not const, since traditional // RenderPlugins do not require that m_satModel = new SatellitesModel( const_cast<MarbleModel *>( marbleModel() )->treeModel(), marbleModel()->clock() ); m_configModel = new SatellitesConfigModel( this ); m_configDialog->configWidget()->treeView->setModel( m_configModel ); connect( m_satModel, SIGNAL(fileParsed(QString)), SLOT(dataSourceParsed(QString)) ); connect( m_satModel, SIGNAL(fileParsed(QString)), SLOT(updateDataSourceConfig(QString)) ); connect( m_configDialog, SIGNAL(dataSourcesReloadRequested()), SLOT(updateSettings()) ); connect( m_configDialog, SIGNAL(accepted()), SLOT(writeSettings()) ); connect( m_configDialog, SIGNAL(rejected()), SLOT(readSettings()) ); connect( m_configDialog->configWidget()->buttonBox->button( QDialogButtonBox::Reset ), SIGNAL(clicked()), SLOT(restoreDefaultSettings()) ); connect( m_configDialog, SIGNAL(userDataSourcesChanged()), SLOT(writeSettings()) ); connect( m_configDialog, SIGNAL(userDataSourceAdded(QString)), SLOT(userDataSourceAdded(QString)) ); m_isInitialized = true; readSettings(); updateSettings(); enableModel( enabled() ); }
void Driver::parseFile( const QString& fileName, bool onlyPreProcess, bool force ) { QFileInfo fileInfo( fileName ); QString absFilePath = fileInfo.absFilePath(); QMap<QString, TranslationUnitAST*>::Iterator it = m_parsedUnits.find( absFilePath ); if( force && it != m_parsedUnits.end() ){ takeTranslationUnit( absFilePath ); } else if( it != m_parsedUnits.end() && *it != 0 ){ // file already processed return; } m_dependences.remove( fileName ); m_problems.remove( fileName ); m_currentFileName = fileName; Lexer lex( this ); lexer = &lex; setupLexer( &lex ); lex.setSource( sourceProvider()->contents(fileName) ); if( !onlyPreProcess ){ Parser parser( this, &lex ); setupParser( &parser ); TranslationUnitAST :: Node translationUnit; parser.parseTranslationUnit( translationUnit ); m_parsedUnits.insert( fileName, translationUnit.release() ); fileParsed( fileName ); } m_currentFileName = QString::null; lexer = 0; }
void MainWindow::parseFile() { Parser2::ParseFile* parser = new Parser2::ParseFile("efp.out"); connect(parser, SIGNAL(finished()), this, SLOT(fileParsed())); parser->start(); }