BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
gui2::ImportTableHeader Class Reference

Holds all data related to the content of utility rows in ImportTableModel. More...

Public Types

using header_data_t = std::vector< std::vector< QVariant > >
 
enum  RowTypes { TYPE , UNITS , MULTIPLIER , MAX }
 

Public Member Functions

 ImportTableHeader (int max_column_count)
 
int columnCount () const
 
std::vector< ColumnInfocolumnInfo () const
 
QVariant data (int row, int column) const
 
int rowCount () const
 
std::string rowName (int row) const
 
bool setData (int row, int column, const QVariant &variant)
 

Private Member Functions

void init_data ()
 
bool isValid (int row, int column) const
 Returns true if given pair of indices are valid for data array. More...
 

Private Attributes

header_data_t m_data
 
int m_maxColumnCount
 

Detailed Description

Holds all data related to the content of utility rows in ImportTableModel.

Definition at line 28 of file importtableheader.h.

Member Typedef Documentation

◆ header_data_t

using gui2::ImportTableHeader::header_data_t = std::vector<std::vector<QVariant> >

Definition at line 31 of file importtableheader.h.

Member Enumeration Documentation

◆ RowTypes

Constructor & Destructor Documentation

◆ ImportTableHeader()

gui2::ImportTableHeader::ImportTableHeader ( int  max_column_count)

Definition at line 70 of file importtableheader.cpp.

70  : m_maxColumnCount(max_column_count)
71 {
72  init_data();
73 }

References init_data().

Here is the call graph for this function:

Member Function Documentation

◆ columnCount()

int gui2::ImportTableHeader::columnCount ( ) const

Definition at line 80 of file importtableheader.cpp.

81 {
82  return m_maxColumnCount;
83 }

References m_maxColumnCount.

Referenced by columnInfo(), and init_data().

◆ columnInfo()

std::vector< ColumnInfo > gui2::ImportTableHeader::columnInfo ( ) const

Definition at line 105 of file importtableheader.cpp.

106 {
107  std::vector<ColumnInfo> result;
108  for (int column = 0; column < columnCount(); ++column) {
109  ColumnInfo info;
110  info.column = column;
111  info.type_name = data(TYPE, column).value<ComboProperty>().value();
112  info.units = data(UNITS, column).value<ComboProperty>().value();
113  info.multiplier = data(MULTIPLIER, column).value<double>();
114  result.push_back(info);
115  }
116 
117  return result;
118 }
Custom property to define list of string values with multiple selections.
Definition: ComboProperty.h:25
QVariant data(int row, int column) const

References gui2::ColumnInfo::column, columnCount(), data(), gui2::ColumnInfo::multiplier, MULTIPLIER, TYPE, gui2::ColumnInfo::type_name, gui2::ColumnInfo::units, and UNITS.

Here is the call graph for this function:

◆ data()

QVariant gui2::ImportTableHeader::data ( int  row,
int  column 
) const

Definition at line 85 of file importtableheader.cpp.

86 {
87  return isValid(row, column) ? m_data[row][column] : QVariant();
88 }
bool isValid(int row, int column) const
Returns true if given pair of indices are valid for data array.

References isValid(), and m_data.

Referenced by columnInfo().

Here is the call graph for this function:

◆ init_data()

void gui2::ImportTableHeader::init_data ( )
private

Definition at line 120 of file importtableheader.cpp.

121 {
122  m_data.resize(MAX);
123  m_data[TYPE] = CreateTypeVariants(columnCount());
124  m_data[UNITS] = CreateUnitVariants(columnCount());
125  m_data[MULTIPLIER] = CreateMultiplierVariants(columnCount());
126 }

References columnCount(), m_data, MAX, MULTIPLIER, TYPE, and UNITS.

Referenced by ImportTableHeader().

Here is the call graph for this function:

◆ isValid()

bool gui2::ImportTableHeader::isValid ( int  row,
int  column 
) const
private

Returns true if given pair of indices are valid for data array.

Definition at line 130 of file importtableheader.cpp.

131 {
132  return (row >= 0 && row < static_cast<int>(m_data.size()))
133  && (column >= 0 && column < static_cast<int>(m_data[row].size()));
134 }

References m_data.

Referenced by data(), and setData().

◆ rowCount()

int gui2::ImportTableHeader::rowCount ( ) const

Definition at line 75 of file importtableheader.cpp.

76 {
77  return utilityRowNames.size();
78 }

◆ rowName()

std::string gui2::ImportTableHeader::rowName ( int  row) const

Definition at line 100 of file importtableheader.cpp.

101 {
102  return utilityRowNames[row];
103 }

◆ setData()

bool gui2::ImportTableHeader::setData ( int  row,
int  column,
const QVariant &  variant 
)

Definition at line 90 of file importtableheader.cpp.

91 {
92  if (isValid(row, column)) {
93  m_data[row][column] = variant;
94  return true;
95  }
96 
97  return false;
98 }

References isValid(), and m_data.

Here is the call graph for this function:

Member Data Documentation

◆ m_data

header_data_t gui2::ImportTableHeader::m_data
private

Definition at line 51 of file importtableheader.h.

Referenced by data(), init_data(), isValid(), and setData().

◆ m_maxColumnCount

int gui2::ImportTableHeader::m_maxColumnCount
private

Definition at line 52 of file importtableheader.h.

Referenced by columnCount().


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