40 qDebug() <<
"QCPSpectrum::QCPSpectrum begin";
42 setFocusPolicy(Qt::ClickFocus);
53 QCPMarginGroup *group =
new QCPMarginGroup(
this);
54 this->axisRect()->setMarginGroup(QCP::msLeft | QCP::msRight, group);
58 _p_peak_bars->setWidthType(QCPBars::WidthType::wtAbsolute);
72 SIGNAL(rangeChanged(QCPRange)),
77 std::vector<PeptideIon> all_ion_list = {
92 qDebug() <<
"SpectrumWidget::setVisibleMassDelta 5";
96 QCPBars *p_peak_bars =
new QCPBars(xAxis, yAxis);
97 p_peak_bars->setWidthType(QCPBars::WidthType::wtAbsolute);
102 p_peak_bars->setVisible(
true);
104 std::pair<PeptideIon, QCPBars *>(ion_type, p_peak_bars));
106 qDebug() <<
"SpectrumWidget::setVisibleMassDelta visible ?";
107 setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
117 this->plotLayout()->setRowSpacing(0);
121 this->setAutoAddPlottableToLegend(
false);
126 QCPScatterStyle(QCPScatterStyle::ssDisc, 4.0));
138 SIGNAL(rangeChanged(QCPRange)),
146 qDebug() <<
"QCPSpectrum::QCPSpectrum end";
159 if((spectrum !=
nullptr) && (spectrum->size() != 0))
169 _mz_range.lower = spectrum->front().x - 1;
170 _mz_range.upper = spectrum->back().x + 1;
215 qDebug() <<
"QCPSpectrum::setMzRangeChanged _mz_range.lower"
229 xAxis->setRange(range);
241 _p_peak_bars->setData(QVector<double>(), QVector<double>());
249 pair_ion_bar.second->setData(QVector<double>(), QVector<double>());
250 pair_ion_bar.second->data().clear();
271 if(event->key() == Qt::Key_Control)
275 qDebug() <<
"QCPSpectrum::keyPressEvent end";
281 if(event->key() == Qt::Key_Control)
285 qDebug() <<
"QCPSpectrum::keyReleaseEvent end";
296 _old_y = yAxis->pixelToCoord(event->y());
328 this->yAxis->scaleRange(
_old_y /
y, 0);
333 this->xAxis->moveRange(xAxis->pixelToCoord(
_old_x) -
334 xAxis->pixelToCoord(event->x()));
346 xAxis->pixelToCoord(10) - xAxis->pixelToCoord(8);
360 p_peak_match =
nullptr;
366 if((peak.x > min) && (peak.x <
max))
368 if(p_peak_match ==
nullptr)
370 p_peak_match = &peak;
374 if(fabs(
mz - peak.x) < fabs(
mz - p_peak_match->
x))
376 p_peak_match = &peak;
393 p_peak_match =
nullptr;
399 if((peak.x > min) && (peak.x <
max))
401 if(p_peak_match ==
nullptr)
403 p_peak_match = &peak;
407 if(p_peak_match->
y < peak.y)
409 p_peak_match = &peak;
448 const std::vector<pappso::PeptideNaturalIsotopeAverageSp> &isotope_mass_list,
452 ((
pappso_double)1.0 / isotope_mass_list.at(0).get()->getIntensityRatio()) *
457 peptide.get()->getIntensityRatio() *