本文整理汇总了C++中SourceFile::setText方法的典型用法代码示例。如果您正苦于以下问题:C++ SourceFile::setText方法的具体用法?C++ SourceFile::setText怎么用?C++ SourceFile::setText使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SourceFile
的用法示例。
在下文中一共展示了SourceFile::setText方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addAndEditFunction
void Project::addAndEditFunction( const QString &function, const QString &functionBody, bool openDeveloper )
{
for ( SourceFile *f = sourcefiles.first(); f; f = sourcefiles.next() ) {
if ( QFileInfo( f->fileName() ).baseName() == "main" ) {
QValueList<LanguageInterface::Function> funcs;
LanguageInterface *iface = MetaDataBase::languageInterface( language() );
if ( !iface )
return;
iface->functions( f->text(), &funcs );
QString func = function;
int i = func.find( '(' );
if ( i != -1 )
func = func.left( i );
bool found = FALSE;
for ( QValueList<LanguageInterface::Function>::Iterator it = funcs.begin();
it != funcs.end(); ++it ) {
if ( (*it).name.left( (*it).name.find( '(' ) ) == func ) {
found = TRUE;
break;
}
}
if ( !found ) {
QString code = f->text();
if ( functionBody.isEmpty() )
code += "\n\n" + iface->createFunctionStart( "", func, "", "" ) + "()\n{\n\n}\n";
else
code += "\n\n" + iface->createFunctionStart( "", func, "", "" ) +
"()\n" + functionBody + "\n";
f->setText( code );
if ( f->editor() )
f->editor()->refresh( FALSE );
}
if ( openDeveloper ) {
if ( MainWindow::self )
MainWindow::self->editSource( f );
f->editor()->setFunction( func, "" );
}
break;
}
}
}