All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Types | Public Member Functions | Friends
GeopsyCore::SignalFilePool Class Reference

#include <SignalFilePool.h>

List of all members.

Public Types

typedef QList< SignalFile * >
::const_iterator 
const_iterator
typedef QList< SignalFile * >
::iterator 
iterator

Public Member Functions

void add (const SignalFilePool &files)
SignalFileat (int index) const
const_iterator begin () const
iterator begin ()
int count () const
const_iterator end () const
iterator end ()
SignalFilefind (QString fileName) const
int indexOf (SignalFile *f) const
SignalFilelast () const
bool load (QString name, SignalFileFormat format=SignalFileFormat::Unknown)
 SignalFilePool (SignalDB *db)
 ~SignalFilePool ()

Friends

class SignalDB

Member Typedef Documentation


Constructor & Destructor Documentation

{_db=db;}

References TRACE.

{
  TRACE;
  clear();
}

Member Function Documentation

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]
int GeopsyCore::SignalFilePool::count ( ) const [inline]
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().

{
  TRACE;
  for(const_iterator it=begin(); it!=end(); ++it) {
    SignalFile * sigFile=*it;
    if(sigFile->shortName()==fileName || sigFile->name()==fileName) {
      return sigFile;
    }
  }
  return 0;
}
int GeopsyCore::SignalFilePool::indexOf ( SignalFile f) const [inline]

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;
  }
}

Friends And Related Function Documentation

friend class SignalDB [friend]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines