40 qDebug() <<
"QCPXic::QCPXic begin";
42 setFocusPolicy(Qt::ClickFocus);
46 xAxis->setLabel(
"retention time (sec)");
50 xAxis->setLabel(
"retention time (min)");
53 yAxis->setLabel(
"intensity");
54 setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
55 axisRect()->setRangeDrag(Qt::Horizontal);
56 axisRect()->setRangeZoom(Qt::Horizontal);
58 connect(this->xAxis, SIGNAL(rangeChanged(QCPRange)),
this, SLOT(
setRtRangeChanged(QCPRange)));
68 QColor(193, 126, 189),
73 QColor(156, 105, 52)};
75 qDebug() <<
"QCPXic::QCPXic end";
83 if(event->key() == Qt::Key_Control)
87 qDebug() <<
"QCPXic::keyPressEvent end";
93 if(event->key() == Qt::Key_Control)
97 qDebug() <<
"QCPXic::keyReleaseEvent end";
103 qDebug() <<
" begin ";
107#if QT_VERSION < 0x060000
109 _old_y = yAxis->pixelToCoord(event->y());
111 _old_x =
event->position().x();
112 _old_y = yAxis->pixelToCoord(event->position().y());
121 qDebug() <<
"QCPXic::mousePressEvent end";
127#if QT_VERSION < 0x060000
128 qDebug() <<
"QCPXic::mouseReleaseEvent begin " << xAxis->pixelToCoord(event->x()) <<
" "
129 << yAxis->pixelToCoord(event->y());
131 qDebug() <<
"QCPXic::mouseReleaseEvent begin " << xAxis->pixelToCoord(event->position().x())
132 <<
" " << yAxis->pixelToCoord(event->position().y());
144 qDebug() <<
"QCPXic::mouseReleaseEvent end";
151#if QT_VERSION < 0x060000
159#if QT_VERSION < 0x060000
160 qDebug() <<
"QCPXic::mouseMoveEvent begin " << xAxis->pixelToCoord(event->x()) <<
" "
161 << yAxis->pixelToCoord(event->y());
164 qDebug() <<
"QCPXic::mouseMoveEvent begin " << xAxis->pixelToCoord(event->position().x())
165 <<
" " << yAxis->pixelToCoord(event->position().y());
176 this->yAxis->scaleRange(
_old_y /
y, 0);
182#if QT_VERSION < 0x060000
183 this->xAxis->moveRange(xAxis->pixelToCoord(
_old_x) - xAxis->pixelToCoord(event->x()));
185 this->xAxis->moveRange(xAxis->pixelToCoord(
_old_x) -
186 xAxis->pixelToCoord(event->position().x()));
190#if QT_VERSION < 0x060000
193 _old_x =
event->position().x();
197 qDebug() <<
"QCPXic::mouseMoveEvent end";
216 QCPGraph *graph_xic = addGraph();
218 _map_xic_graph.insert(std::pair<const Xic *, QCPGraph *>(xic_p, graph_xic));
219 graph_xic->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 2.0));
221 if(xic_p->size() > 0)
249 qDebug() <<
"QCPXic::setMzRangeChanged _rt_range.lower" <<
_rt_range.lower;
259 xAxis->setRange(range);
292 legend->clearItems();
296 this->clearPlottables();
306 for(
auto &xic_element : *(xic_p))
308 if(peak.get()->containsRt(xic_element.x))
361 QCPItemTracer *p_peak_border_left =
new QCPItemTracer(
this);
364 QPen border_pen(color);
365 border_pen.setWidth(3);
367 p_peak_border_left->setGraph(p_graph);
368 p_peak_border_left->setGraphKey(
370 p_peak_border_left->setInterpolating(
true);
371 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
372 p_peak_border_left->setPen(border_pen);
373 p_peak_border_left->setBrush(color);
374 p_peak_border_left->setSize(30);
380 QPen apex_pen(color);
381 apex_pen.setWidth(2);
382 p_peak_border_left =
new QCPItemTracer(
this);
384 p_peak_border_left->setGraphKey(
386 p_peak_border_left->setInterpolating(
true);
387 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
388 p_peak_border_left->setPen(apex_pen);
389 p_peak_border_left->setBrush(color);
390 p_peak_border_left->setSize(8);
397 p_peak_border_left =
new QCPItemTracer(
this);
399 p_peak_border_left->setGraphKey(
401 p_peak_border_left->setInterpolating(
true);
402 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
403 p_peak_border_left->setPen(border_pen);
404 p_peak_border_left->setBrush(color);
405 p_peak_border_left->setSize(30);
419 removeItem(p_tracer);
virtual void keyPressEvent(QKeyEvent *event) override
void addMsMsEvent(const Xic *xic_p, pappso::pappso_double rt)
void clearXicPeakBorders()
std::vector< QColor > _colours
std::vector< QCPItemTracer * > _graph_peak_border_list
pappso::pappso_double _old_y
pappso::pappso_double xAxisToSeconds(pappso::pappso_double rt) const
void setName(const Xic *xic_p, const QString &name)
QCPRange _intensity_range
pappso::pappso_double _old_x
std::vector< QCPGraph * > _graph_peak_surface_list
std::map< const Xic *, QCPGraph * > _map_xic_graph
Q_SLOT void setRtRangeChanged(QCPRange range)
pappso::pappso_double getRetentionTimeFromSecondsToLocal(pappso::pappso_double rt) const
virtual void mousePressEvent(QMouseEvent *event) override
void drawXicPeakBorders(unsigned int i, const Xic *xic_p, const pappso::TracePeak *p_xic_peak)
QCPItemTracer * _current_ms2_event
virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void keyReleaseEvent(QKeyEvent *event) override
void addXicPeakList(const Xic *xic_p, const std::vector< pappso::TracePeakCstSPtr > &xic_peak_list)
virtual void mouseReleaseEvent(QMouseEvent *event) override
QCPXic(XicWidget *parent)
QCPGraph * addXicP(const Xic *xic_p)
DataPoint & getLeftBoundary()
DataPoint & getMaxXicElement()
DataPoint & getRightBoundary()
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
double pappso_double
A type definition for doubles.
std::shared_ptr< const TracePeak > TracePeakCstSPtr