libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
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.

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

References mp_sourceModel.

◆ ~OboListProxyModel()

OboListProxyModel::~OboListProxyModel ( )

Destructor

Definition at line 44 of file obolistproxymodel.cpp.

45{
46}

Member Function Documentation

◆ filterAcceptsRow()

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

Definition at line 69 of file obolistproxymodel.cpp.

71{
72 // qDebug();
73 if(m_precisionPtr != nullptr)
74 {
75 MzRange range(m_mzTarget, m_precisionPtr);
76 OboPsiModTerm term = mp_sourceModel->getOboPsiModTerm(source_row);
77 /*
78 qDebug() << source_row << " " << source_parent.row() << " "
79 << range.toString() << " " << term.m_diffMono << " "
80 << term.m_accession;
81 */
82 if(range.contains(term.m_diffMono))
83 {
84 // qDebug();
85 }
86 else
87 {
88 // qDebug() << "false";
89 return false;
90 }
91 }
92 return true;
93}

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

◆ filterMzPrecision()

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

Definition at line 61 of file obolistproxymodel.cpp.

62{
63 m_precisionPtr = precision;
64 m_mzTarget = target_mz;
65 invalidateFilter();
66}

References m_mzTarget, and m_precisionPtr.

◆ lessThan()

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

Definition at line 49 of file obolistproxymodel.cpp.

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

References pappso::OboListModel::data(), and pappso::OboPsiModTerm::m_diffMono.

Member Data Documentation

◆ m_mzTarget

double pappso::OboListProxyModel::m_mzTarget = 0
private

Definition at line 65 of file obolistproxymodel.h.

Referenced by filterAcceptsRow(), and filterMzPrecision().

◆ m_precisionPtr

PrecisionPtr pappso::OboListProxyModel::m_precisionPtr = nullptr
private

Definition at line 64 of file obolistproxymodel.h.

Referenced by filterAcceptsRow(), and filterMzPrecision().

◆ mp_sourceModel

OboListModel* pappso::OboListProxyModel::mp_sourceModel
private

Definition at line 66 of file obolistproxymodel.h.

Referenced by OboListProxyModel(), and filterAcceptsRow().


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