69                                         const QString &x_axis_label,
 
   70                                         const QString &y_axis_label)
 
 
  108                                  const std::vector<double> &keys,
 
  109                                  const std::vector<double> &values)
 
  111  QCPGraph *graph_p = graph(graph_index);
 
  113  if(graph_p == 
nullptr)
 
  114    qFatal(
"Programming error.");
 
 
  122                                  const std::vector<double> &keys,
 
  123                                  const std::vector<double> &values)
 
  125  if(graph_p == 
nullptr)
 
  126    qFatal(
"Pointer cannot be nullptr.");
 
  132  QVector<double> key_qvector;
 
  133  QVector<double> value_qvector;
 
  144                    QVector(keys.begin(),
 
  147                    QVector(values.begin(),
 
  151  for(
auto &value : keys)
 
  152    key_qvector.push_back(value);
 
  154  for(
auto &value : values)
 
  155    value_qvector.push_back(value);
 
  157  graph_p->setData(key_qvector, value_qvector, 
true);
 
  159  graph_p->setPen(
m_pen);
 
 
  170  QCPGraph *graph_p = graph(graph_index);
 
  172  if(graph_p == 
nullptr)
 
  173    qFatal(
"Programming error.");
 
  175  graph_p->data().clear();
 
 
  190      QString(
"The color to be used for the plot graph is invalid."));
 
  195  QCPGraph *graph_p = addGraph();
 
  197  graph_p->setLayer(
"plotsLayer");
 
  203  QVector<double> key_qvector;
 
  204  QVector<double> value_qvector;
 
  214                    QVector(trace.
xValues().begin(),
 
  215                            .trace.xValues()end());
 
  217                    QVector(trace.
yValues().begin(),
 
  221  for(
auto &value : trace.
xValues())
 
  223      key_qvector.push_back(value);
 
  226  for(
auto &value : trace.
yValues())
 
  228      value_qvector.push_back(value);
 
  233  qDebug() << 
"The size of the x values for trace is:" << key_qvector.size()
 
  234           << 
"and for y values is:" << value_qvector.size();
 
  238  for(qsizetype iter = 0; iter < key_qvector.size(); ++iter)
 
  239    text += QString(
"(%1,%2)\n")
 
  240              .arg(key_qvector.at(iter), 0, 
'f', 6)
 
  241              .arg(value_qvector.at(iter), 0, 
'f', 6);
 
  243  qDebug().noquote() << text;
 
  248  graph_p->setData(key_qvector, value_qvector, 
true);
 
  250  QPen pen = graph()->pen();
 
  252  graph()->setPen(pen);
 
  258          static_cast<void (QCPAbstractPlottable::*)(
bool)
>(
 
  259            &QCPAbstractPlottable::selectionChanged),
 
  268  if(graphCount() == 1)
 
 
  300  QCPGraph *theGraph = graph(index);
 
  302  if(theGraph == 
nullptr)
 
  304      "basetraceplotwidget.cpp @ indIntegrationLowerRangeForKey() -- ERROR " 
  305      "theGraph cannot be nullptr.");
 
  311  QSharedPointer<QCPGraphDataContainer> graph_data_container_p =
 
  314  QCPDataRange dataRange = graph_data_container_p->dataRange();
 
  316  if(!dataRange.isValid())
 
  319  if(!dataRange.size())
 
  322  if(dataRange.size() > 1)
 
  324      double firstKey = graph_data_container_p->at(dataRange.begin())->key;
 
  325      double lastKey  = graph_data_container_p->at(dataRange.end())->key;
 
  337          range.lower = graph_data_container_p->at(dataRange.end() - 2)->key;
 
  338          range.upper = graph_data_container_p->at(dataRange.end() - 1)->key;
 
  349          range.lower = firstKey;
 
  350          range.upper = graph_data_container_p->at(dataRange.begin() + 1)->key;
 
  359        graph_data_container_p->findBegin(key,  
true)->key;
 
  361        std::prev(graph_data_container_p->findEnd(key,  
true))
 
 
  374  std::vector<double> keys;
 
  376  QCPGraph *graph_p = graph(graph_index);
 
  378  if(graph_p == 
nullptr)
 
  379    qFatal(
"Programming error.");
 
  381  QSharedPointer<QCPGraphDataContainer> graph_data_container_p =
 
  385  auto beginIt = graph_data_container_p->begin();
 
  386  auto endIt   = graph_data_container_p->end();
 
  388  for(
auto iter = beginIt; iter != endIt; ++iter)
 
  389    keys.push_back(iter->key);
 
 
  398  std::vector<double> values;
 
  400  QCPGraph *graph_p = graph(graph_index);
 
  402  if(graph_p == 
nullptr)
 
  403    qFatal(
"Programming error.");
 
  405  QSharedPointer<QCPGraphDataContainer> graph_data_container_p =
 
  409  auto beginIt = graph_data_container_p->begin();
 
  410  auto endIt   = graph_data_container_p->end();
 
  412  for(
auto iter = beginIt; iter != endIt; ++iter)
 
  413    values.push_back(iter->key);
 
 
  429  QCPRange key_range(xAxis->range().lower, xAxis->range().upper);
 
  431  if(plottable_p != 
nullptr)
 
  434      return plottable_p->getValueRange(ok, QCP::SignDomain::sdBoth, key_range);
 
  440      int graph_count = graphCount();
 
  447      double temp_min_value = std::numeric_limits<double>::max();
 
  448      double temp_max_value = std::numeric_limits<double>::min();
 
  450      bool found_range = 
false;
 
  452      for(
int iter = 0; iter < graph_count; ++iter)
 
  454          QCPGraph *plottable_p = graph(iter);
 
  456          QCPRange value_range =
 
  457            plottable_p->getValueRange(ok, QCP::SignDomain::sdBoth, key_range);
 
  462          if(value_range.lower < temp_min_value)
 
  463            temp_min_value = value_range.lower;
 
  464          if(value_range.upper > temp_max_value)
 
  465            temp_max_value = value_range.upper;
 
  471      return QCPRange(temp_min_value, temp_max_value);
 
 
  485  QCPAbstractPlottable *plottable_p = plottable(index);
 
  487  if(plottable_p == 
nullptr)
 
  488    qFatal(
"Programming error.");
 
 
  497  if(graph_p == 
nullptr)
 
  498    qFatal(
"Programming error.");
 
  500  QCPItemTracer *tracer_p = 
new QCPItemTracer(
this);
 
  501  tracer_p->setGraph(graph_p);
 
  502  tracer_p->setInterpolating(
true);
 
  503  tracer_p->setGraphKey(
x);
 
  504  tracer_p->updatePosition();
 
  506  double value = tracer_p->position->value();
 
  508  tracer_p->setGraph(
nullptr);
 
  511  removeItem(tracer_p);
 
 
  520  QCPGraph *graph_p = graph(index);
 
  522  if(graph_p == 
nullptr)
 
  523    qFatal(
"Programming error.");
 
 
  532  [[maybe_unused]] QCPAxis::SelectablePart part,
 
  537  m_context.m_keyboardModifiers = QGuiApplication::queryKeyboardModifiers();
 
  539  if(
m_context.m_keyboardModifiers & Qt::ControlModifier)
 
  558      if(axis->orientation() == Qt::Vertical)
 
  560          if(
m_context.m_keyboardModifiers & Qt::ShiftModifier)
 
  571              yAxis->setRange(value_range);
 
  589  m_context.m_pressedMouseButtons ^= 
event->button();
 
 
  602  double xLower = xAxis->range().lower;
 
  603  double xUpper = xAxis->range().upper;
 
  606  double yLower = yAxis->range().lower;
 
  607  double yUpper = yAxis->range().upper;
 
  634      xAxis->setRange(xLower, xUpper - xDelta);
 
  660      if(
m_context.m_keyboardModifiers & Qt::ShiftModifier)
 
  670          yAxis->setRange(value_range);
 
  686      yAxis->setRange(yLower, yUpper - yDelta);
 
 
  737  yAxis->setRange(xAxis->range().lower,
 
  738                  std::max<double>(
m_context.m_yRegionRangeStart,
 
  747  if(
m_context.m_keyboardModifiers & Qt::ShiftModifier)
 
  754      yAxis->setRange(value_range);
 
 
  781  if(
m_context.m_keyboardModifiers & Qt::ShiftModifier)
 
  788      yAxis->setRange(value_range);
 
 
  810      "This function can only be called if the mouse click was on one of the " 
  820      if(
m_context.m_keyboardModifiers & Qt::ShiftModifier)
 
  827          yAxis->setRange(value_range);
 
 
  860  QCPGraph *graph_p = graph(index);
 
 
  869  if(graph_p == 
nullptr)
 
  870    qFatal(
"Programming error. Pointer cannot be nullptr.");
 
  874  QSharedPointer<QCPGraphDataContainer> graph_data_container_p =
 
  878  auto beginIt = graph_data_container_p->begin();
 
  879  auto endIt   = graph_data_container_p->end();
 
  881  for(
auto iter = beginIt; iter != endIt; ++iter)
 
 
  891  QCPGraph *graph_p = graph(index);
 
  893  if(graph_p == 
nullptr)
 
  894    qFatal(
"Programming error.");
 
  896  return toTrace(x_axis_range, graph_p);
 
 
  902                             const QCPGraph *graph_p)
 const 
  908  QSharedPointer<QCPGraphDataContainer> graph_data_container_sp;
 
  910  graph_data_container_sp = graph_p->data();
 
  913  auto beginIt = graph_data_container_sp->findBegin(x_axis_range.lower,
 
  916  auto endIt = graph_data_container_sp->findEnd(x_axis_range.upper,
 
  919  for(
auto iter = beginIt; iter != endIt; ++iter)
 
  920    data_trace.push_back(
DataPoint(iter->key, iter->value));
 
 
A simple container of DataPoint instances.
 
std::vector< pappso_double > xValues() const
 
std::vector< pappso_double > yValues() const
 
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...