BibLaTeXItemCollection BibFile::getDocuments() const { BibLaTeXItemCollection documents; QFile bibFile(m_filePath); if (!bibFile.open(QIODevice::ReadOnly)) return documents; QTextStream in(&bibFile); QString content = in.readAll(); for (QString bibEntry : findEntries(content)) { // TODO: These need to be processed at least string if (bibEntry == "preamble" || bibEntry == "string" || bibEntry == "comment" ) continue; documents.append(parseEntry(bibEntry)); } return documents; }
void ABCentralWidget::setupTabWidget() { tabWidget = new QTabWidget( this ); QWidget *input = new QWidget( tabWidget ); QGridLayout *grid1 = new QGridLayout( input, 2, 5, 5, 5 ); QLabel *liTitle = new QLabel( trUtf8("标签 &t"), input ); liTitle->resize( liTitle->sizeHint() ); grid1->addWidget( liTitle, 0, 0 ); QLabel *liPackageName = new QLabel( trUtf8("文件名 &p"), input ); liPackageName->resize( liPackageName->sizeHint() ); grid1->addWidget( liPackageName, 0, 1 ); QLabel *liSize = new QLabel( trUtf8("大小 &z"), input ); liSize->resize( liSize->sizeHint() ); grid1->addWidget( liSize, 0, 2 ); QLabel *liFtpSite = new QLabel( trUtf8("Ftp站点 &e"), input ); liFtpSite->resize( liFtpSite->sizeHint() ); grid1->addWidget( liFtpSite, 0, 3 ); add = new QPushButton( trUtf8("添加 &d"), input ); add->resize( add->sizeHint() ); grid1->addWidget( add, 0, 4 ); connect( add, SIGNAL( clicked() ), this, SLOT( addEntry() ) ); iTitle = new QLineEdit( input ); iTitle->resize( iTitle->sizeHint() ); grid1->addWidget( iTitle, 1, 0 ); liTitle->setBuddy( iTitle ); iPackageName = new QLineEdit( input ); iPackageName->resize( iPackageName->sizeHint() ); grid1->addWidget( iPackageName, 1, 1 ); liPackageName->setBuddy( iPackageName ); iSize = new QLineEdit( input ); iSize->resize( iSize->sizeHint() ); grid1->addWidget( iSize, 1, 2 ); liSize->setBuddy( iSize ); iFtpSite = new QLineEdit( input ); iFtpSite->resize( iFtpSite->sizeHint() ); grid1->addWidget( iFtpSite, 1, 3 ); liFtpSite->setBuddy( iFtpSite ); change = new QPushButton( trUtf8("更改 &c"), input ); change->resize( change->sizeHint() ); grid1->addWidget( change, 1, 4 ); connect( change, SIGNAL( clicked() ), this, SLOT( changeEntry() ) ); tabWidget->addTab( input, trUtf8("添加与更改 &a") ); // -------------------------------------- QWidget *search = new QWidget( this ); QGridLayout *grid2 = new QGridLayout( search, 2, 5, 5, 5 ); cTitle = new QCheckBox( trUtf8("标签 &t"), search ); cTitle->resize( cTitle->sizeHint() ); grid2->addWidget( cTitle, 0, 0 ); connect( cTitle, SIGNAL( clicked() ), this, SLOT( toggleTitle() ) ); cPackageName = new QCheckBox( trUtf8("文件名 &p"), search ); cPackageName->resize( cPackageName->sizeHint() ); grid2->addWidget( cPackageName, 0, 1 ); connect( cPackageName, SIGNAL( clicked() ), this, SLOT( togglePackageName() ) ); cSize = new QCheckBox(trUtf8("大小 &z"), search ); cSize->resize( cSize->sizeHint() ); grid2->addWidget( cSize, 0, 2 ); connect( cSize, SIGNAL( clicked() ), this, SLOT( toggleSize() ) ); cFtpSite = new QCheckBox( trUtf8("Ftp站点 &e"), search ); cFtpSite->resize( cFtpSite->sizeHint() ); grid2->addWidget( cFtpSite, 0, 3 ); connect( cFtpSite, SIGNAL( clicked() ), this, SLOT( toggleFtpSite() ) ); sTitle = new QLineEdit( search ); sTitle->resize( sTitle->sizeHint() ); grid2->addWidget( sTitle, 1, 0 ); sPackageName = new QLineEdit( search ); sPackageName->resize( sPackageName->sizeHint() ); grid2->addWidget( sPackageName, 1, 1 ); sSize = new QLineEdit( search ); sSize->resize( sSize->sizeHint() ); grid2->addWidget( sSize, 1, 2 ); sFtpSite = new QLineEdit( search ); sFtpSite->resize( sFtpSite->sizeHint() ); grid2->addWidget( sFtpSite, 1, 3 ); find = new QPushButton( trUtf8("查找 &i"), search ); find->resize( find->sizeHint() ); grid2->addWidget( find, 1, 4 ); connect( find, SIGNAL( clicked() ), this, SLOT( findEntries() ) ); cTitle->setChecked( TRUE ); sTitle->setEnabled( TRUE ); sPackageName->setEnabled( FALSE ); sSize->setEnabled( FALSE ); sFtpSite->setEnabled( FALSE ); tabWidget->addTab( search, trUtf8("搜索 &s") ); mainGrid->addWidget( tabWidget, 0, 0 ); }
void findAccs(int numAccs, unsigned type, struct gbRelease* release, struct hash* accTbl) /* Get list of accessions to copy. */ { int accCount = 0; int native3Versions, xeno3Versions, native2Versions, xeno2Versions; int native2ModDates, xeno2ModDates, nativeNew, xenoNew, xenoRest; struct numRange versions; struct numRange modDates; /* breakdown of types to extract is just hard coded for now */ native3Versions = (int)(numAccs*0.15); /* 15% with 3 versions */ xeno3Versions = (int)(numAccs*0.05); /* 5% with 3 versions */ native2Versions = (int)(numAccs*0.15); /* 15% with 2 versions */ xeno2Versions = (int)(numAccs*0.05); /* 5% with 2 versions */ native2ModDates = (int)(numAccs*0.10); /* 10% with moddate change */ xeno2ModDates = (int)(numAccs*0.05); /* 5% with moddate change */ nativeNew = (int)(numAccs*0.10); /* 10% new */ xenoNew = (int)(numAccs*0.10); /* 10% new */ xenoRest = (int)(numAccs*0.5); /* 5% rest */ versions.minNum = 3; versions.maxNum = 100; findEntries(native3Versions, type, release, &versions, NULL, FE_FULL|FE_DAILY, GB_NATIVE, accTbl, &accCount); findEntries(xeno3Versions, type, release, &versions, NULL, FE_FULL|FE_DAILY, GB_XENO, accTbl, &accCount); versions.minNum = 2; versions.maxNum = 2; findEntries(native2Versions, type, release, &versions, NULL, FE_FULL|FE_DAILY, GB_NATIVE, accTbl, &accCount); findEntries(xeno2Versions, type, release, &versions, NULL, FE_FULL|FE_DAILY, GB_XENO, accTbl, &accCount); modDates.minNum = 2; modDates.maxNum = 100; findEntries(native2ModDates, type, release, NULL, &modDates, FE_FULL|FE_DAILY, GB_NATIVE, accTbl, &accCount); findEntries(xeno2ModDates, type, release, NULL, &modDates, FE_FULL|FE_DAILY, GB_XENO, accTbl, &accCount); findEntries(nativeNew, type, release, NULL, NULL, FE_DAILY, GB_NATIVE, accTbl, &accCount); findEntries(xenoNew, type, release, NULL, NULL, FE_DAILY, GB_XENO, accTbl, &accCount); /* get the rest */ findEntries(xenoRest, type, release, NULL, NULL, FE_FULL|FE_DAILY, GB_NATIVE, accTbl, &accCount); findEntries(numAccs-accCount, type, release, NULL, NULL, FE_FULL|FE_DAILY, GB_XENO, accTbl, &accCount); }
void ABCentralWidget::setupTabWidget() { tabWidget = new QTabWidget( this ); QWidget *input = new QWidget( tabWidget ); QGridLayout *grid1 = new QGridLayout( input, 2, 5, 5, 5 ); QLabel *liFirstName = new QLabel( "First &Name", input ); liFirstName->resize( liFirstName->sizeHint() ); grid1->addWidget( liFirstName, 0, 0 ); QLabel *liLastName = new QLabel( "&Last Name", input ); liLastName->resize( liLastName->sizeHint() ); grid1->addWidget( liLastName, 0, 1 ); QLabel *liAddress = new QLabel( "Add&ress", input ); liAddress->resize( liAddress->sizeHint() ); grid1->addWidget( liAddress, 0, 2 ); QLabel *liEMail = new QLabel( "&E-Mail", input ); liEMail->resize( liEMail->sizeHint() ); grid1->addWidget( liEMail, 0, 3 ); add = new QPushButton( "A&dd", input ); add->resize( add->sizeHint() ); grid1->addWidget( add, 0, 4 ); connect( add, SIGNAL( clicked() ), this, SLOT( addEntry() ) ); iFirstName = new QLineEdit( input ); iFirstName->resize( iFirstName->sizeHint() ); grid1->addWidget( iFirstName, 1, 0 ); liFirstName->setBuddy( iFirstName ); iLastName = new QLineEdit( input ); iLastName->resize( iLastName->sizeHint() ); grid1->addWidget( iLastName, 1, 1 ); liLastName->setBuddy( iLastName ); iAddress = new QLineEdit( input ); iAddress->resize( iAddress->sizeHint() ); grid1->addWidget( iAddress, 1, 2 ); liAddress->setBuddy( iAddress ); iEMail = new QLineEdit( input ); iEMail->resize( iEMail->sizeHint() ); grid1->addWidget( iEMail, 1, 3 ); liEMail->setBuddy( iEMail ); change = new QPushButton( "&Change", input ); change->resize( change->sizeHint() ); grid1->addWidget( change, 1, 4 ); connect( change, SIGNAL( clicked() ), this, SLOT( changeEntry() ) ); tabWidget->addTab( input, "&Add/Change Entry" ); // -------------------------------------- QWidget *search = new QWidget( this ); QGridLayout *grid2 = new QGridLayout( search, 2, 5, 5, 5 ); cFirstName = new QCheckBox( "First &Name", search ); cFirstName->resize( cFirstName->sizeHint() ); grid2->addWidget( cFirstName, 0, 0 ); connect( cFirstName, SIGNAL( clicked() ), this, SLOT( toggleFirstName() ) ); cLastName = new QCheckBox( "&Last Name", search ); cLastName->resize( cLastName->sizeHint() ); grid2->addWidget( cLastName, 0, 1 ); connect( cLastName, SIGNAL( clicked() ), this, SLOT( toggleLastName() ) ); cAddress = new QCheckBox( "Add&ress", search ); cAddress->resize( cAddress->sizeHint() ); grid2->addWidget( cAddress, 0, 2 ); connect( cAddress, SIGNAL( clicked() ), this, SLOT( toggleAddress() ) ); cEMail = new QCheckBox( "&E-Mail", search ); cEMail->resize( cEMail->sizeHint() ); grid2->addWidget( cEMail, 0, 3 ); connect( cEMail, SIGNAL( clicked() ), this, SLOT( toggleEMail() ) ); sFirstName = new QLineEdit( search ); sFirstName->resize( sFirstName->sizeHint() ); grid2->addWidget( sFirstName, 1, 0 ); sLastName = new QLineEdit( search ); sLastName->resize( sLastName->sizeHint() ); grid2->addWidget( sLastName, 1, 1 ); sAddress = new QLineEdit( search ); sAddress->resize( sAddress->sizeHint() ); grid2->addWidget( sAddress, 1, 2 ); sEMail = new QLineEdit( search ); sEMail->resize( sEMail->sizeHint() ); grid2->addWidget( sEMail, 1, 3 ); find = new QPushButton( "F&ind", search ); find->resize( find->sizeHint() ); grid2->addWidget( find, 1, 4 ); connect( find, SIGNAL( clicked() ), this, SLOT( findEntries() ) ); cFirstName->setChecked( TRUE ); sFirstName->setEnabled( TRUE ); sLastName->setEnabled( FALSE ); sAddress->setEnabled( FALSE ); sEMail->setEnabled( FALSE ); tabWidget->addTab( search, "&Search" ); mainGrid->addWidget( tabWidget, 0, 0 ); }
bool cgicc::Cgicc::getElementByValue(const std::string& value, std::vector<FormEntry>& result) const { return findEntries(value, false, result); }
bool cgicc::Cgicc::getElement(const std::string& name, std::vector<FormEntry>& result) const { return findEntries(name, true, result); }