BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
QREDataLoader::ImportSettings Struct Reference

Settings for importing the file. More...

Public Member Functions

void deserialize (const QByteArray &data)
 
bool operator!= (const ImportSettings &other) const
 
QByteArray serialize () const
 

Public Attributes

QMap< DataType, ColumnDefinitioncolumnDefinitions
 
QString headerPrefix
 prefix denoting header line More...
 
QString linesToSkip
 pattern denoting line to skip (i.e. '1,10-12,42') More...
 
QString separator
 column separator More...
 

Detailed Description

Settings for importing the file.

Definition at line 67 of file QREDataLoader.h.

Member Function Documentation

◆ deserialize()

void QREDataLoader::ImportSettings::deserialize ( const QByteArray &  data)

Definition at line 689 of file QREDataLoader.cpp.

690 {
691  columnDefinitions.clear();
692 
693  QDataStream s(data);
694  s.setVersion(QDataStream::Qt_5_12);
695 
696  quint8 version;
697  s >> version;
698 
699  if (version == 1) {
700  s >> separator;
701  s >> headerPrefix;
702  s >> linesToSkip;
703 
704  quint8 nDefs;
705  s >> nDefs;
706  for (int i = 0; i < nDefs; i++) {
707  quint8 dataType;
708  s >> dataType;
709  auto& colDef = columnDefinitions[(DataType)dataType];
710  s >> colDef.enabled;
711  s >> colDef.column;
712  quint8 unit;
713  s >> unit;
714  colDef.unit = UnitInFile(unit);
715  s >> colDef.factor;
716  }
717  } else
719 
720  if (s.status() != QDataStream::Ok)
722 }
static DeserializationException streamError()
static DeserializationException tooNew()
QString separator
column separator
Definition: QREDataLoader.h:68
QMap< DataType, ColumnDefinition > columnDefinitions
Definition: QREDataLoader.h:71
QString headerPrefix
prefix denoting header line
Definition: QREDataLoader.h:69
QString linesToSkip
pattern denoting line to skip (i.e. '1,10-12,42')
Definition: QREDataLoader.h:70

References DeserializationException::streamError(), and DeserializationException::tooNew().

Here is the call graph for this function:

◆ operator!=()

bool QREDataLoader::ImportSettings::operator!= ( const ImportSettings other) const

Definition at line 661 of file QREDataLoader.cpp.

662 {
663  return serialize() != other.serialize();
664 }

References serialize(), and QREDataLoader::serialize().

Here is the call graph for this function:

◆ serialize()

QByteArray QREDataLoader::ImportSettings::serialize ( ) const

Definition at line 666 of file QREDataLoader.cpp.

667 {
668  QByteArray a;
669  QDataStream s(&a, QIODevice::WriteOnly);
670  s.setVersion(QDataStream::Qt_5_12);
671 
672  s << (quint8)1; // version
673  s << separator;
674  s << headerPrefix;
675  s << linesToSkip;
676 
677  s << (quint8)columnDefinitions.count();
678  for (const auto dataType : columnDefinitions.keys()) {
679  s << (quint8)dataType;
680  s << columnDefinitions[dataType].enabled;
681  s << columnDefinitions[dataType].column;
682  s << (quint8)columnDefinitions[dataType].unit;
683  s << columnDefinitions[dataType].factor;
684  }
685 
686  return a;
687 }

Referenced by operator!=().

Member Data Documentation

◆ columnDefinitions

◆ headerPrefix

◆ linesToSkip

QString QREDataLoader::ImportSettings::linesToSkip

◆ separator


The documentation for this struct was generated from the following files: