#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] |