MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / updateEntries

Method updateEntries

src/openms_gui/source/VISUAL/SpectraTreeTab.cpp:299–593  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297 }
298
299 void SpectraTreeTab::updateEntries(LayerDataBase* layer)
300 {
301 if (layer == nullptr)
302 {
303 clear();
304 return;
305 }
306 layer_ = layer;
307
308 if (!spectra_treewidget_->isVisible() || spectra_treewidget_->signalsBlocked())
309 {
310 return;
311 }
312
313 spectra_treewidget_->blockSignals(true);
314 RAIICleanup clean([&](){
315 spectra_treewidget_->blockSignals(false);
316 });
317
318 QTreeWidgetItem* toplevel_item = nullptr;
319 QTreeWidgetItem* selected_item = nullptr;
320 QList<QTreeWidgetItem*> toplevel_items;
321 bool more_than_one_spectrum = true;
322
323 // Branch if the current layer is a spectrum
324 if (auto* lp = dynamic_cast<LayerDataPeak*>(layer))
325 {
326 Size spec_index = std::numeric_limits<Size>::max();
327 if (auto* layer_peak1d = dynamic_cast<LayerData1DPeak*>(lp))
328 {
329 spec_index = layer_peak1d->getCurrentIndex();
330 }
331 const auto& cl = *lp;
332 spectra_treewidget_->clear();
333
334 std::vector<QTreeWidgetItem *> parent_stack;
335 parent_stack.push_back(nullptr);
336 bool fail = false;
337 last_peakmap_ = &(*cl.getPeakData());
338 spectra_treewidget_->setHeaders(ClmnPeak::HEADER_NAMES);
339
340 for (Size i = 0; i < cl.getPeakData()->size(); ++i)
341 {
342 const MSSpectrum& current_spec = (*cl.getPeakData())[i];
343
344 if (i > 0)
345 {
346 const MSSpectrum& prev_spec = (*cl.getPeakData())[i-1];
347 // current MS level = previous MS level + 1 (e.g. current: MS2, previous: MS1)
348 if (current_spec.getMSLevel() == prev_spec.getMSLevel() + 1)
349 {
350 toplevel_item = new QTreeWidgetItem(parent_stack.back());
351 parent_stack.resize(parent_stack.size() + 1);
352 }
353 // current MS level = previous MS level (e.g. MS2,MS2 or MS1,MS1)
354 else if (current_spec.getMSLevel() == prev_spec.getMSLevel())
355 {
356 if (parent_stack.size() == 1)

Callers

nothing calls this directly

Calls 15

populatePeakDataRow_Function · 0.85
vecToListFunction · 0.85
getPeakDataMethod · 0.80
getMSLevelMethod · 0.80
backMethod · 0.80
setSelectedMethod · 0.80
metaValueExistsMethod · 0.80
getMetaValueMethod · 0.80
getChromatogramsMethod · 0.80
cbeginMethod · 0.80
cendMethod · 0.80
setTextMethod · 0.80

Tested by

no test coverage detected