本文整理汇总了C++中QStringList::grep方法的典型用法代码示例。如果您正苦于以下问题:C++ QStringList::grep方法的具体用法?C++ QStringList::grep怎么用?C++ QStringList::grep使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QStringList
的用法示例。
在下文中一共展示了QStringList::grep方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getNextDiffSessionName
QString DiffAnalystWindow::getNextDiffSessionName()
{
QString defaultName = "Untitled-";
int counter = 1;
QStringList nameList;
QString ret = "";
QWidgetList wl = m_pWs->windowList(QWorkspace::CreationOrder);
QWidgetList::iterator it = wl.begin();
QWidgetList::iterator end = wl.end();
for( ; it != end ; it++)
{
nameList.push_back( (*it)->name() );
}
while(1)
{
QString pattern = QString("^")+ defaultName + QString::number(counter) + "$";
QRegExp regExp(pattern);
if(nameList.grep(regExp).size() == 0)
{
ret = defaultName + QString::number(counter);
break;
}else{
counter++;
}
}
return ret;
}
示例2: slotProcessArtsdOutput
void KArtsModule::slotProcessArtsdOutput(KProcess*, char* buf, int len)
{
// XXX(gioele): I suppose this will be called with full lines, am I wrong?
QStringList availableIOs = QStringList::split("\n", QCString(buf, len));
// valid entries have two leading spaces
availableIOs = availableIOs.grep(QRegExp("^ {2}"));
availableIOs.sort();
QString name, fullName;
QStringList::Iterator it;
for (it = availableIOs.begin(); it != availableIOs.end(); ++it) {
name = (*it).left(12).stripWhiteSpace();
fullName = (*it).mid(12).stripWhiteSpace();
audioIOList.append(new AudioIOElement(name, fullName));
}
}
示例3: diffSessionNameExists
bool DiffAnalystWindow::diffSessionNameExists(QString name)
{
bool ret = false;
QStringList nameList;
QWidgetList wl = m_pWs->windowList(QWorkspace::CreationOrder);
QWidgetList::iterator it = wl.begin();
QWidgetList::iterator end = wl.end();
for( ; it != end ; it++)
{
nameList.push_back( (*it)->name() );
}
QString pattern = QString("^")+ name + "$";
QRegExp regExp(pattern);
if(nameList.grep(regExp).size() != 0)
ret = true;
return ret;
}
示例4: setFramework
void ReactionsWidget1::FillWidgetFromRI()
{
LineEdit2->setText(FROM_UTF8(mpRi->getChemEqString()));
setFramework(mFramework);
// the reversibility checkbox
CheckBox->setChecked(false);
if (mpRi->isReversible() == true)
{
CheckBox->setChecked(true);
}
mpMultiCompartment->setChecked(mpRi->isMulticompartment());
// the function combobox
QStringList comboEntries;
vectorOfStrings2QStringList(mpRi->getListOfPossibleFunctions(), comboEntries);
ComboBox1->clear();
ComboBox1->insertStringList(comboEntries, -1);
// if there is a current function the parameter table is initialized
if (mpRi->getFunctionName() != "")
{
if (comboEntries.grep(FROM_UTF8(mpRi->getFunctionName())).size() == 0)
ComboBox1->insertItem(FROM_UTF8(mpRi->getFunctionName()));
ComboBox1->setCurrentText(FROM_UTF8(mpRi->getFunctionName()));
ComboBox1->setToolTip(FROM_UTF8(mpRi->getFunctionDescription()));
assert(CCopasiRootContainer::getDatamodelList()->size() > 0);
table->updateTable(*mpRi, *(*CCopasiRootContainer::getDatamodelList())[0]->getModel());
}
else
{
ComboBox1->insertItem("undefined");
ComboBox1->setCurrentText("undefined");
table->initTable();
}
}
示例5: init
void Font::init(const QString &n)
{
// check if font already parsed
_data = _dict->find(n);
if ( _data==0 ) {
// kdDebug(30516) << "font " << n << endl;
QString name = n;
name.replace("oblique", "italic");
// check if known font
_data = new Data;
uint i = 0;
while ( KNOWN_DATA[i].name!=0 ) {
if ( name.find(KNOWN_DATA[i].name)!=-1 ) {
// kdDebug(30516) << "found " << KNOWN_DATA[i].name
// << " " << isBold(KNOWN_DATA[i].style) << endl;
_data->family = FAMILY_DATA[KNOWN_DATA[i].family];
_data->style = KNOWN_DATA[i].style;
_data->latex = KNOWN_DATA[i].latex;
break;
}
i++;
}
if ( _data->family.isEmpty() ) { // let's try harder
// simple heuristic
kdDebug(30516) << "unknown font : " << n << endl;
if ( name.find("times")!=-1 )
_data->family = FAMILY_DATA[Times];
else if ( name.find("helvetica")!=-1 )
_data->family = FAMILY_DATA[Helvetica];
else if ( name.find("courier")!=-1 )
_data->family = FAMILY_DATA[Courier];
else if ( name.find("symbol")!=-1 )
_data->family = FAMILY_DATA[Symbol];
else { // with Qt
QFontDatabase fdb;
QStringList list = fdb.families();
list = list.grep(name, false);
if ( !list.isEmpty() ) {
_data->family = list[0];
kdDebug(30516) << "in Qt database as " << list[0] << endl;
}
else {
kdDebug(30516) << "really unknown font !" << endl;
_data->family = name;
}
}
bool italic = ( name.find("italic")!=-1 );
bool bold = ( name.find("bold")!=-1 );
_data->style = toStyle(bold, italic);
_data->latex = false;
}
_dict->insert(name, _data);
}
// check if QFont already created
if ( !_data->height.contains(_pointSize) ) {
QFont font(_data->family, _pointSize,
(isBold(_data->style) ? QFont::Bold : QFont::Normal),
isItalic(_data->style));
QFontMetrics fm(font);
_data->height.insert(_pointSize, fm.height());
}
}
示例6: implementation
//.........这里部分代码省略.........
out << indent << indent << indent << "QSqlCursor* cursor = new QSqlCursor( \"" << tab << "\" );" << endl;
else
out << indent << indent << indent << "QSqlCursor* cursor = new QSqlCursor( \"" << tab << "\", TRUE, " << conn << "Connection );" << endl;
out << indent << indent << indent << obj << "->setSqlCursor( cursor, TRUE );" << endl;
out << indent << indent << indent << obj << "->refresh();" << endl;
out << indent << indent << indent << obj << "->first();" << endl;
out << indent << indent << "}" << endl;
out << indent << "}" << endl;
}
}
}
}
out << indent << objClass << "::polish();" << endl;
out << "}" << endl;
out << endl;
}
out << "/*" << endl;
out << " * Sets the strings of the subwidgets using the current" << endl;
out << " * language." << endl;
out << " */" << endl;
out << "void " << nameOfClass << "::languageChange()" << endl;
out << "{" << endl;
out << languageChangeBody;
out << "}" << endl;
out << endl;
// create stubs for additional slots if necessary
if ( !extraFuncts.isEmpty() && writeFunctImpl ) {
it = extraFuncts.begin();
QStringList::Iterator it2 = extraFunctTyp.begin();
QStringList::Iterator it3 = extraFunctSpecifier.begin();
while ( it != extraFuncts.end() ) {
QString type = *it2;
if ( type.isEmpty() )
type = "void";
type = type.simplifyWhiteSpace();
QString fname = Parser::cleanArgs( *it );
if ( !(*it3).startsWith("pure") ) { // "pure virtual" or "pureVirtual"
out << type << " " << nameOfClass << "::" << fname << endl;
out << "{" << endl;
if ( *it != "init()" && *it != "destroy()" ) {
QRegExp numeric( "^(?:signed|unsigned|u?char|u?short|u?int"
"|u?long|Q_U?INT(?:8|16|32)|Q_U?LONG|float"
"|double)$" );
QString retVal;
/*
We return some kind of dummy value to shut the
compiler up.
1. If the type is 'void', we return nothing.
2. If the type is 'bool', we return 'FALSE'.
3. If the type is 'unsigned long' or
'Q_UINT16' or 'double' or similar, we
return '0'.
4. If the type is 'Foo *', we return '0'.
5. If the type is 'Foo &', we create a static
variable of type 'Foo' and return it.
6. If the type is 'Foo', we assume there's a
default constructor and use it.
*/
if ( type != "void" ) {
QStringList toks = QStringList::split( " ", type );
bool isBasicNumericType =
( toks.grep(numeric).count() == toks.count() );
if ( type == "bool" ) {
retVal = "FALSE";
} else if ( isBasicNumericType || type.endsWith("*") ) {
retVal = "0";
} else if ( type.endsWith("&") ) {
do {
type.truncate( type.length() - 1 );
} while ( type.endsWith(" ") );
retVal = "uic_temp_var";
out << indent << "static " << type << " " << retVal << ";" << endl;
} else {
retVal = type + "()";
}
}
out << indent << "qWarning( \"" << nameOfClass << "::" << fname << ": Not implemented yet\" );" << endl;
if ( !retVal.isEmpty() )
out << indent << "return " << retVal << ";" << endl;
}
out << "}" << endl;
out << endl;
}
++it;
++it2;
++it3;
}
}
}
示例7: createSchema
bool SqlDbBackend::createSchema()
{
QStringList tables;
QStringList constraints;
QString exec;
PropertyInfo *prop;
uint i;
// This sequence is incremented every time a new object is created
m_db->exec( "CREATE SEQUENCE seq_dboid;" );
// This sequence is incremented every time a record is created or modified and is used in the dbseq field that will be created in each table.
m_db->exec( "CREATE SEQUENCE seq_dbseq;" );
// Create the tables. Iterate creating the classes that
// have inheritance first.
QStringList classList( Classes::parentsFirst() );
QStringList::const_iterator it( classList.constBegin() );
QStringList::const_iterator end( classList.constEnd() );
ClassInfo *currentClass;
for ( ; it != end; ++it ) {
currentClass = Classes::classInfo( *it );
exec = "CREATE TABLE " + currentClass->name().lower() + " ( " + oidFieldName() + " BIGINT PRIMARY KEY, " + sequenceFieldName() + " BIGINT NOT NULL, ";
// Create properties fields
PropertiesInfoConstIterator pIt( currentClass->propertiesBegin() );
PropertiesInfoConstIterator pEnd( currentClass->propertiesEnd() );
for ( ; pIt != pEnd; ++pIt ) {
prop = *pIt;
if ( prop->readOnly() == false )
exec += prop->name() + " " + sqlType( prop ) + ", ";
}
// Create related objects fields
// For 1-1 relations only create the field in one of the two tables.
// We assume that both classes have relation to each other.
RelationInfosConstIterator oIt( currentClass->relationsBegin() );
RelationInfosConstIterator oEnd( currentClass->relationsEnd() );
RelationInfo *rObj;
for ( ; oIt != oEnd; ++oIt ) {
rObj = *oIt;
// needs to be >= to consider cases where the parent and related class(table) are the same
if ( ! rObj->isOneToOne() || rObj->relatedClassInfo()->name() >= rObj->parentClassInfo()->name() ) {
exec += rObj->name().lower() + " BIGINT DEFAULT NULL, ";
constraints << currentClass->name() + "-" + rObj->name() + "-" + rObj->relatedClassInfo()->name();
}
}
// Search in all the classes if they have N - 1 relations with the current class
ClassInfoIterator cIt( Classes::begin() );
ClassInfoIterator cEnd( Classes::end() );
ClassInfo *cInfo;
for ( ; cIt != cEnd; ++cIt ) {
cInfo = *cIt;
CollectionInfosIterator colIt( cInfo->collectionsBegin() );
CollectionInfosIterator colEnd( cInfo->collectionsEnd() );
CollectionInfo *rCol;
for ( ; colIt != colEnd; ++colIt ) {
rCol = *colIt;
if ( rCol->childrenClassInfo()->name() == currentClass->name() && rCol->isNToOne() && constraints.grep( rCol->name() ).count() == 0 ) {
exec += rCol->name().lower() + " BIGINT DEFAULT NULL, ";
constraints << currentClass->name() + "-" + rCol->name() + "-" + rCol->parentClassInfo()->name();
}
}
}
CollectionInfosIterator colIt( currentClass->collectionsBegin() );
CollectionInfosIterator colEnd( currentClass->collectionsEnd() );
CollectionInfo *col;
for ( ; colIt != colEnd; ++colIt ) {
col = *colIt;
if ( ! tables.grep( col->name() ).count() > 0 && ! col->isNToOne() ) {
tables << col->name() + "-" + filterFieldName( col ) + "-" + idFieldName( col );
}
}
// Take off the colon and space
exec = exec.left( exec.length() - 2 );
exec += ")";
if ( currentClass->parent() != 0 )
exec += " INHERITS ( " + currentClass->parent()->name() + ")";
m_db->exec( exec );
if ( m_db->lastError().type() != QSqlError::None ) {
kdDebug() << k_funcinfo << exec << endl;
kdDebug() << k_funcinfo << m_db->lastError().text() << endl;
}
}
/*
As PostgreSQL doesn't properly support foreign keys to inherited tables we will create
foreign keys (references) only when the refered class hasn't any inherited classes.
*/
// Create relation tables (for N-M relations)
QStringList list;
for ( i = 0; i < tables.count(); ++i ) {
//.........这里部分代码省略.........
示例8: readInfo
bool KigPlugin::readInfo( KFileMetaInfo& metainfo, uint /*what*/ )
{
KFileMetaInfoGroup metagroup = appendGroup( metainfo, "KigInfo");
QString sfile = metainfo.path();
bool iscompressed = false;
QFile f( sfile );
if ( !sfile.endsWith( ".kig", false ) )
{
iscompressed = true;
QString tempdir = KGlobal::dirs()->saveLocation( "tmp" );
if ( tempdir.isEmpty() )
return false;
QString tempname = sfile.section( '/', -1 );
if ( sfile.endsWith( ".kigz", false ) )
{
tempname.remove( QRegExp( "\\.[Kk][Ii][Gg][Zz]$" ) );
}
else
return false;
// reading compressed file
KTar* ark = new KTar( sfile, "application/x-gzip" );
ark->open( IO_ReadOnly );
const KArchiveDirectory* dir = ark->directory();
QStringList entries = dir->entries();
QStringList kigfiles = entries.grep( QRegExp( "\\.kig$" ) );
if ( kigfiles.count() != 1 )
return false;
const KArchiveEntry* kigz = dir->entry( kigfiles[0] );
if ( !kigz->isFile() )
return false;
dynamic_cast<const KArchiveFile*>( kigz )->copyTo( tempdir );
f.setName( tempdir + kigz->name() );
}
if ( !f.open( IO_ReadOnly ) )
return false;
QDomDocument doc( "KigDocument" );
if ( !doc.setContent( &f ) )
return false;
f.close();
// removing temp file
if ( iscompressed )
f.remove();
QDomElement main = doc.documentElement();
// reading the version...
QString version = main.attribute( "Version" );
if ( version.isEmpty() ) version = main.attribute( "version" );
if ( version.isEmpty() ) version = i18n( "Translators: Not Available", "n/a" );
appendItem( metagroup, "Version", version );
// reading the compatibility version...
QString compatversion = main.attribute( "CompatibilityVersion" );
if ( compatversion.isEmpty() )
compatversion = i18n( "%1 represents Kig version",
"%1 (as the version)" ).arg( version );
appendItem( metagroup, "CompatVersion", compatversion );
// reading the Coordinate System...
QCString coordsystem;
for ( QDomNode n = main.firstChild(); ! n.isNull(); n = n.nextSibling() )
{
QDomElement e = n.toElement();
if ( e.isNull() ) continue;
if ( e.tagName() == "CoordinateSystem" )
coordsystem = e.text().latin1();
}
appendItem( metagroup, "CoordSystem", coordsystem );
// has Kig document the grid?
bool btmp = true;
QString stmp = main.attribute( "grid" );
if ( !( stmp.isEmpty() || ( stmp != "0" ) ) )
btmp = ( stmp != "0" );
QString stmp2 = btmp ? i18n( "Yes" ) : i18n( "No" );
appendItem( metagroup, "Grid", stmp2 );
// has Kig document the axes?
btmp = true;
stmp = main.attribute( "axes" );
if ( !( stmp.isEmpty() || ( stmp != "0" ) ) )
btmp = ( stmp != "0" );
stmp2 = btmp ? i18n( "Yes" ) : i18n( "No" );
appendItem( metagroup, "Axes", stmp2 );
stmp2 = iscompressed ? i18n( "Yes" ) : i18n( "No" );
appendItem( metagroup, "Compressed", stmp2 );
return true;
}