libpappsomspp
Library for mass spectrometry
pappso::OboListProxyModel Class Reference

#include <obolistproxymodel.h>

Inheritance diagram for pappso::OboListProxyModel:

Public Member Functions

 OboListProxyModel (OboListModel *source_model, QObject *parent=nullptr)
 
 ~OboListProxyModel ()
 
void filterMzPrecision (double target_mz, PrecisionPtr precision)
 

Protected Member Functions

bool lessThan (const QModelIndex &source_left, const QModelIndex &source_right) const override
 
bool filterAcceptsRow (int source_row, const QModelIndex &source_parent) const override
 

Private Attributes

PrecisionPtr m_precisionPtr = nullptr
 
double m_mzTarget = 0
 
OboListModelmp_sourceModel
 

Detailed Description

Todo:
write docs

Definition at line 42 of file obolistproxymodel.h.

Constructor & Destructor Documentation

◆ OboListProxyModel()

OboListProxyModel::OboListProxyModel ( OboListModel source_model,
QObject *  parent = nullptr 
)

Default constructor

Definition at line 37 of file obolistproxymodel.cpp.

39  : QSortFilterProxyModel(parent)
40 {
41  setFilterRole(Qt::DisplayRole);
42  mp_sourceModel = source_model;
43 }

References mp_sourceModel.

◆ ~OboListProxyModel()

OboListProxyModel::~OboListProxyModel ( )

Destructor

Definition at line 45 of file obolistproxymodel.cpp.

46 {
47 }

Member Function Documentation

◆ filterAcceptsRow()

bool pappso::OboListProxyModel::filterAcceptsRow ( int  source_row,
const QModelIndex &  source_parent 
) const
overrideprotected

Definition at line 72 of file obolistproxymodel.cpp.

75 {
76  // qDebug();
77  if(m_precisionPtr != nullptr)
78  {
80  OboPsiModTerm term = mp_sourceModel->getOboPsiModTerm(source_row);
81  /*
82  qDebug() << source_row << " " << source_parent.row() << " "
83  << range.toString() << " " << term.m_diffMono << " "
84  << term.m_accession;
85  */
86  if(range.contains(term.m_diffMono))
87  {
88  // qDebug();
89  }
90  else
91  {
92  // qDebug() << "false";
93  return false;
94  }
95  }
96  return true;
97 }
const OboPsiModTerm & getOboPsiModTerm(int row) const

References pappso::MzRange::contains(), and pappso::OboPsiModTerm::m_diffMono.

◆ filterMzPrecision()

void pappso::OboListProxyModel::filterMzPrecision ( double  target_mz,
pappso::PrecisionPtr  precision 
)

Definition at line 63 of file obolistproxymodel.cpp.

65 {
66  m_precisionPtr = precision;
67  m_mzTarget = target_mz;
68  invalidateFilter();
69 }

◆ lessThan()

bool pappso::OboListProxyModel::lessThan ( const QModelIndex &  source_left,
const QModelIndex &  source_right 
) const
overrideprotected

Definition at line 50 of file obolistproxymodel.cpp.

52 {
53  // qDebug();
54 
55  QVariant leftData = sourceModel()->data(source_left, Qt::UserRole);
56  QVariant rightData = sourceModel()->data(source_right, Qt::UserRole);
57 
58  return leftData.value<OboPsiModTerm>().m_diffMono <
59  rightData.value<OboPsiModTerm>().m_diffMono;
60 }

References pappso::OboPsiModTerm::m_diffMono.

Member Data Documentation

◆ m_mzTarget

double pappso::OboListProxyModel::m_mzTarget = 0
private

Definition at line 65 of file obolistproxymodel.h.

◆ m_precisionPtr

PrecisionPtr pappso::OboListProxyModel::m_precisionPtr = nullptr
private

Definition at line 64 of file obolistproxymodel.h.

◆ mp_sourceModel

OboListModel* pappso::OboListProxyModel::mp_sourceModel
private

Definition at line 66 of file obolistproxymodel.h.

Referenced by OboListProxyModel().


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