34 #include "../../processing/detection/tracepeak.h"
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);
59 SIGNAL(rangeChanged(QCPRange)),
71 QColor(193, 126, 189),
76 QColor(156, 105, 52)};
78 qDebug() <<
"QCPXic::QCPXic end";
86 if(event->key() == Qt::Key_Control)
90 qDebug() <<
"QCPXic::keyPressEvent end";
96 if(event->key() == Qt::Key_Control)
100 qDebug() <<
"QCPXic::keyReleaseEvent end";
106 qDebug() <<
"QCPXic::mousePressEvent begin "
107 << xAxis->pixelToCoord(event->x()) <<
" "
108 << yAxis->pixelToCoord(event->y());
112 _old_y = yAxis->pixelToCoord(event->y());
120 qDebug() <<
"QCPXic::mousePressEvent end";
125 qDebug() <<
"QCPXic::mouseReleaseEvent begin "
126 << xAxis->pixelToCoord(event->x()) <<
" "
127 << yAxis->pixelToCoord(event->y());
137 qDebug() <<
"QCPXic::mouseReleaseEvent end";
146 qDebug() <<
"QCPXic::mouseMoveEvent begin "
147 << xAxis->pixelToCoord(event->x()) <<
" "
148 << yAxis->pixelToCoord(event->y());
158 this->yAxis->scaleRange(
_old_y /
y, 0);
163 this->xAxis->moveRange(xAxis->pixelToCoord(
_old_x) -
164 xAxis->pixelToCoord(event->x()));
169 qDebug() <<
"QCPXic::mouseMoveEvent end";
188 QCPGraph *graph_xic = addGraph();
190 _map_xic_graph.insert(std::pair<const Xic *, QCPGraph *>(xic_p, graph_xic));
191 graph_xic->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 2.0));
193 if(xic_p->size() > 0)
224 qDebug() <<
"QCPXic::setMzRangeChanged _rt_range.lower" <<
_rt_range.lower;
234 xAxis->setRange(range);
267 legend->clearItems();
271 this->clearPlottables();
277 const Xic *xic_p,
const std::vector<pappso::TracePeakCstSPtr> &xic_peak_list)
282 for(
auto &xic_element : *(xic_p))
284 if(peak.get()->containsRt(xic_element.x))
295 QCPGraph::LineStyle::lsLine);
341 QCPItemTracer *p_peak_border_left =
new QCPItemTracer(
this);
344 QPen border_pen(color);
345 border_pen.setWidth(3);
347 p_peak_border_left->setGraph(p_graph);
348 p_peak_border_left->setGraphKey(
350 p_peak_border_left->setInterpolating(
true);
351 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
352 p_peak_border_left->setPen(border_pen);
353 p_peak_border_left->setBrush(color);
354 p_peak_border_left->setSize(30);
360 QPen apex_pen(color);
361 apex_pen.setWidth(2);
362 p_peak_border_left =
new QCPItemTracer(
this);
364 p_peak_border_left->setGraphKey(
366 p_peak_border_left->setInterpolating(
true);
367 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
368 p_peak_border_left->setPen(apex_pen);
369 p_peak_border_left->setBrush(color);
370 p_peak_border_left->setSize(8);
377 p_peak_border_left =
new QCPItemTracer(
this);
379 p_peak_border_left->setGraphKey(
381 p_peak_border_left->setInterpolating(
true);
382 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
383 p_peak_border_left->setPen(border_pen);
384 p_peak_border_left->setBrush(color);
385 p_peak_border_left->setSize(30);
399 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