#include <SignalFilePool.h>
Public Types | |
| typedef QList< SignalFile * > ::const_iterator | const_iterator |
| typedef QList< SignalFile * > ::iterator | iterator |
Public Member Functions | |
| void | add (const SignalFilePool &files) |
| SignalFile * | at (int index) const |
| const_iterator | begin () const |
| iterator | begin () |
| int | count () const |
| const_iterator | end () const |
| iterator | end () |
| SignalFile * | find (QString fileName) const |
| int | indexOf (SignalFile *f) const |
| SignalFile * | last () const |
| bool | load (QString name, SignalFileFormat format=SignalFileFormat::Unknown) |
| SignalFilePool (SignalDB *db) | |
| ~SignalFilePool () | |
Friends | |
| class | SignalDB |
| typedef QList<SignalFile *>::const_iterator GeopsyCore::SignalFilePool::const_iterator |
| typedef QList<SignalFile *>::iterator GeopsyCore::SignalFilePool::iterator |
| GeopsyCore::SignalFilePool::SignalFilePool | ( | SignalDB * | db | ) | [inline] |
{_db=db;}
| void GeopsyCore::SignalFilePool::add | ( | const SignalFilePool & | files | ) |
References begin(), end(), GeopsyCore::SignalFile::setDatabase(), and TRACE.
{
TRACE;
for(const_iterator it=files.begin(); it!=files.end(); ++it) {
SignalFile * sigFile=*it;
sigFile->setDatabase(_db);
append(sigFile);
}
}
| SignalFile* GeopsyCore::SignalFilePool::at | ( | int | index | ) | const [inline] |
Referenced by GeopsyCore::SubSignalPool::addFile(), GeopsyGui::SignalFileItem::getSelection(), GeopsyGui::SignalFileItem::index(), and GeopsyCore::SignalDB::isModified().
{return QList<SignalFile *>::at(index);}
| const_iterator GeopsyCore::SignalFilePool::begin | ( | ) | const [inline] |
| iterator GeopsyCore::SignalFilePool::begin | ( | ) | [inline] |
{return QList<SignalFile *>::begin();}
| int GeopsyCore::SignalFilePool::count | ( | ) | const [inline] |
| const_iterator GeopsyCore::SignalFilePool::end | ( | ) | const [inline] |
| iterator GeopsyCore::SignalFilePool::end | ( | ) | [inline] |
{return QList<SignalFile *>::end();}
| SignalFile * GeopsyCore::SignalFilePool::find | ( | QString | fileName | ) | const |
References begin(), end(), fileName, GeopsyCore::SignalFile::name(), GeopsyCore::SignalFile::shortName(), and TRACE.
Referenced by GeopsyGui::SubPoolWindow::addFile(), and GeopsyCore::GeopsyCoreEngine::file().
| int GeopsyCore::SignalFilePool::indexOf | ( | SignalFile * | f | ) | const [inline] |
Referenced by GeopsyCore::Signal::compare(), GeopsyCore::Signal::header(), GeopsyGui::SignalFileItem::index(), and load().
{return QList<SignalFile *>::indexOf(f);}
| SignalFile* GeopsyCore::SignalFilePool::last | ( | ) | const [inline] |
Referenced by GeopsyCore::GeopsyCoreEngine::load(), and GeopsyGui::CityLoader::on_loadBut_clicked().
{return QList<SignalFile *>::last();}
| bool GeopsyCore::SignalFilePool::load | ( | QString | name, |
| SignalFileFormat | format = SignalFileFormat::Unknown |
||
| ) |
References GeopsyCore::SignalFileFormat::fromContent(), GeopsyCore::SignalFileFormat::id(), indexOf(), GeopsyCore::SignalFile::load(), MSG_ID, QGpCoreTools::tr(), TRACE, and GeopsyCore::SignalFileFormat::Unknown.
Referenced by GeopsyCore::GeopsyCoreEngine::load().
{
TRACE;
QFileInfo f(name);
QString pname=f.absoluteFilePath();
// Checking if file name is unique is no longer usefull with new structure
// where original signals cannot be modified (their samples)
// We keep this code for a while, tracking side effects.
// This is one of the slowest part when many signals are imported.
// check if the new filename is unique in the list of files
/*for(iterator it=begin();it!=end();++it) {
if(pname==(*it)->name()) {
Message::warning(MSG_ID, tr("Loading signal ..."),
tr("File %1 has already been loaded").arg(pname), Message::cancel(), true);
return false;
}
}*/
if(f.suffix()=="gpy") {
Message::warning(MSG_ID, tr("Loading signal ..."), tr("You tried to open a database instead of a signal file."));
return false;
}
if(format.id()==SignalFileFormat::Unknown) {
format=SignalFileFormat::fromContent(pname);
}
if(format.id()!=SignalFileFormat::Unknown) {
SignalFile * newFile=new SignalFile(_db, pname, format);
bool ret=newFile->load();
if( !ret) {
removeAt(indexOf( newFile) );
delete newFile;
}
return ret;
} else {
Message::warning(MSG_ID, tr("Loading signal ..."),
tr("Unknown format for %1").arg(pname), Message::cancel(), true);
return false;
}
}
friend class SignalDB [friend] |