QXRD  0.11.16
Public Types | Public Member Functions | Private Attributes | List of all members
QxrdCalibrantDSpacingsModel Class Reference

#include <qxrdcalibrantdspacingsmodel.h>

Inheritance diagram for QxrdCalibrantDSpacingsModel:
Inheritance graph
[legend]
Collaboration diagram for QxrdCalibrantDSpacingsModel:
Collaboration graph
[legend]

Public Types

enum  {
  IndexColumn, FlagsColumn, HColumn, KColumn,
  LColumn, NColumn, DColumn, TTHColumn,
  NumColumns
}
 

Public Member Functions

 QxrdCalibrantDSpacingsModel (QxrdCalibrantLibraryPtr cal, QxrdCalibrantDSpacingsPtr vec)
 
 ~QxrdCalibrantDSpacingsModel ()
 
virtual QVariant data (const QModelIndex &index, int role) const
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const
 
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const
 
void everythingChanged (int nrows)
 

Private Attributes

QxrdCalibrantLibraryWPtr m_CalibrantLibrary
 
QxrdCalibrantDSpacingsWPtr m_CalibrantDSpacings
 

Detailed Description

Definition at line 9 of file qxrdcalibrantdspacingsmodel.h.

Member Enumeration Documentation

anonymous enum

Constructor & Destructor Documentation

QxrdCalibrantDSpacingsModel::QxrdCalibrantDSpacingsModel ( QxrdCalibrantLibraryPtr  cal,
QxrdCalibrantDSpacingsPtr  vec 
)

Definition at line 4 of file qxrdcalibrantdspacingsmodel.cpp.

5  : m_CalibrantLibrary(cal),
7 {
8 }
QxrdCalibrantLibraryWPtr m_CalibrantLibrary
QxrdCalibrantDSpacingsWPtr m_CalibrantDSpacings
QxrdCalibrantDSpacingsModel::~QxrdCalibrantDSpacingsModel ( )

Definition at line 10 of file qxrdcalibrantdspacingsmodel.cpp.

11 {
12 
13 }

Member Function Documentation

int QxrdCalibrantDSpacingsModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
virtual

Definition at line 30 of file qxrdcalibrantdspacingsmodel.cpp.

References NumColumns.

Referenced by headerData().

31 {
32  if (parent.isValid()) {
33  return 0;
34  }
35 
36  return NumColumns;
37 }

Here is the caller graph for this function:

QVariant QxrdCalibrantDSpacingsModel::data ( const QModelIndex &  index,
int  role 
) const
virtual

Definition at line 78 of file qxrdcalibrantdspacingsmodel.cpp.

References DColumn, FlagsColumn, HColumn, IndexColumn, KColumn, LColumn, m_CalibrantDSpacings, m_CalibrantLibrary, NColumn, and TTHColumn.

79 {
81 
82  if (spc) {
83  if (index.row() < 0 || index.row() >= spc->count()) {
84  return QVariant();
85  }
86  // if (role == Qt::DisplayRole) {
87  // return "X";
88  // }
89 
90  int col = index.column();
91  int row = index.row();
92 
93  QxrdCalibrantDSpacing dspc(spc->value(row));
94 
95  if (role == Qt::DisplayRole) {
96  if (dspc.isValid()) {
97  if (col == IndexColumn) {
98  QString res="";
99 
101 
102  if (lib) {
103  QxrdCalibrantPtr cal = lib->calibrant(dspc.index());
104 
105  if (cal) {
106  res = cal->get_Name();
107  }
108  }
109 
110  return res;
111  }
112 
113  if (col == FlagsColumn) {
114  return "X";
115  }
116 
117  if (col == HColumn) {
118  return dspc.h();
119  }
120 
121  if (col == KColumn) {
122  return dspc.k();
123  }
124 
125  if (col == LColumn) {
126  return dspc.l();
127  }
128 
129  if (col == NColumn) {
130  return dspc.n();
131  }
132 
133  if (col == DColumn) {
134  return dspc.d();
135  }
136 
137  if (col == TTHColumn) {
138  return dspc.tth();
139  }
140  }
141  }
142  }
143 
144  return QVariant();
145 }
QxrdCalibrantLibraryWPtr m_CalibrantLibrary
QSharedPointer< QxrdCalibrantLibrary > QxrdCalibrantLibraryPtr
QxrdCalibrantDSpacingsWPtr m_CalibrantDSpacings
QSharedPointer< QxrdCalibrant > QxrdCalibrantPtr
QSharedPointer< QxrdCalibrantDSpacings > QxrdCalibrantDSpacingsPtr
void QxrdCalibrantDSpacingsModel::everythingChanged ( int  nrows)

Definition at line 147 of file qxrdcalibrantdspacingsmodel.cpp.

148 {
149 // emit dataChanged(QModelIndex(), QModelIndex());
150  beginResetModel();
151  endResetModel();
152 }
QVariant QxrdCalibrantDSpacingsModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
virtual

Definition at line 39 of file qxrdcalibrantdspacingsmodel.cpp.

References columnCount(), DColumn, FlagsColumn, HColumn, IndexColumn, KColumn, LColumn, NColumn, and TTHColumn.

40 {
41  if (columnCount() == 1) {
42  return QVariant();
43  } else {
44  if (orientation==Qt::Horizontal && role==Qt::DisplayRole) {
45  switch (section) {
46  case IndexColumn:
47  return "Cal";
48 
49  case FlagsColumn:
50  return "F";
51 
52  case HColumn:
53  return "H";
54 
55  case KColumn:
56  return "K";
57 
58  case LColumn:
59  return "L";
60 
61  case NColumn:
62  return "N";
63 
64  case DColumn:
65  return "D (Angst)";
66 
67  case TTHColumn:
68  return "TTH (Deg)";
69  }
70  } else if (orientation==Qt::Vertical && role==Qt::DisplayRole) {
71  return section;
72  }
73  }
74 
75  return QVariant();
76 }
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const

Here is the call graph for this function:

int QxrdCalibrantDSpacingsModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
virtual

Definition at line 15 of file qxrdcalibrantdspacingsmodel.cpp.

References m_CalibrantDSpacings.

16 {
17  if (parent.isValid()) {
18  return 0;
19  }
20 
22 
23  if (spc) {
24  return spc->count(); /*m_Calibrant->countDSpacings();*/
25  } else {
26  return 0;
27  }
28 }
QxrdCalibrantDSpacingsWPtr m_CalibrantDSpacings
QSharedPointer< QxrdCalibrantDSpacings > QxrdCalibrantDSpacingsPtr

Member Data Documentation

QxrdCalibrantDSpacingsWPtr QxrdCalibrantDSpacingsModel::m_CalibrantDSpacings
private

Definition at line 38 of file qxrdcalibrantdspacingsmodel.h.

Referenced by data(), and rowCount().

QxrdCalibrantLibraryWPtr QxrdCalibrantDSpacingsModel::m_CalibrantLibrary
private

Definition at line 37 of file qxrdcalibrantdspacingsmodel.h.

Referenced by data().


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