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() <<
" begin ";
110 #if QT_VERSION < 0x060000
112 _old_y = yAxis->pixelToCoord(event->y());
114 _old_x =
event->position().x();
115 _old_y = yAxis->pixelToCoord(event->position().y());
124 qDebug() <<
"QCPXic::mousePressEvent end";
130 #if QT_VERSION < 0x060000
131 qDebug() <<
"QCPXic::mouseReleaseEvent begin "
132 << xAxis->pixelToCoord(event->x()) <<
" "
133 << yAxis->pixelToCoord(event->y());
135 qDebug() <<
"QCPXic::mouseReleaseEvent begin "
136 << xAxis->pixelToCoord(event->position().x()) <<
" "
137 << yAxis->pixelToCoord(event->position().y());
149 qDebug() <<
"QCPXic::mouseReleaseEvent end";
156 #if QT_VERSION < 0x060000
164 #if QT_VERSION < 0x060000
165 qDebug() <<
"QCPXic::mouseMoveEvent begin "
166 << xAxis->pixelToCoord(event->x()) <<
" "
167 << yAxis->pixelToCoord(event->y());
170 qDebug() <<
"QCPXic::mouseMoveEvent begin "
171 << xAxis->pixelToCoord(event->position().x()) <<
" "
172 << yAxis->pixelToCoord(event->position().y());
183 this->yAxis->scaleRange(
_old_y /
y, 0);
189 #if QT_VERSION < 0x060000
190 this->xAxis->moveRange(xAxis->pixelToCoord(
_old_x) -
191 xAxis->pixelToCoord(event->x()));
193 this->xAxis->moveRange(xAxis->pixelToCoord(
_old_x) -
194 xAxis->pixelToCoord(event->position().x()));
198 #if QT_VERSION < 0x060000
201 _old_x =
event->position().x();
205 qDebug() <<
"QCPXic::mouseMoveEvent end";
224 QCPGraph *graph_xic = addGraph();
226 _map_xic_graph.insert(std::pair<const Xic *, QCPGraph *>(xic_p, graph_xic));
227 graph_xic->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 2.0));
229 if(xic_p->size() > 0)
260 qDebug() <<
"QCPXic::setMzRangeChanged _rt_range.lower" <<
_rt_range.lower;
270 xAxis->setRange(range);
303 legend->clearItems();
307 this->clearPlottables();
313 const Xic *xic_p,
const std::vector<pappso::TracePeakCstSPtr> &xic_peak_list)
318 for(
auto &xic_element : *(xic_p))
320 if(peak.get()->containsRt(xic_element.x))
331 QCPGraph::LineStyle::lsLine);
377 QCPItemTracer *p_peak_border_left =
new QCPItemTracer(
this);
380 QPen border_pen(color);
381 border_pen.setWidth(3);
383 p_peak_border_left->setGraph(p_graph);
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(border_pen);
389 p_peak_border_left->setBrush(color);
390 p_peak_border_left->setSize(30);
396 QPen apex_pen(color);
397 apex_pen.setWidth(2);
398 p_peak_border_left =
new QCPItemTracer(
this);
400 p_peak_border_left->setGraphKey(
402 p_peak_border_left->setInterpolating(
true);
403 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
404 p_peak_border_left->setPen(apex_pen);
405 p_peak_border_left->setBrush(color);
406 p_peak_border_left->setSize(8);
413 p_peak_border_left =
new QCPItemTracer(
this);
415 p_peak_border_left->setGraphKey(
417 p_peak_border_left->setInterpolating(
true);
418 p_peak_border_left->setStyle(QCPItemTracer::tsPlus);
419 p_peak_border_left->setPen(border_pen);
420 p_peak_border_left->setBrush(color);
421 p_peak_border_left->setSize(30);
435 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