MCPcopy Create free account
hub / github.com/baldurk/renderdoc / settings_filterApply

Method settings_filterApply

qrenderdoc/Windows/EventBrowser.cpp:4831–4890  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4829}
4830
4831void EventBrowser::settings_filterApply()
4832{
4833 if(m_FilterSettings.Timeout->isActive())
4834 m_FilterSettings.Timeout->stop();
4835
4836 ParseTrace trace;
4837 rdcarray<EventFilter> filters;
4838 trace = m_FilterModel->ParseExpressionToFilters(m_FilterSettings.Filter->toPlainText(), filters);
4839
4840 QList<QTextEdit::ExtraSelection> sels;
4841
4842 QPalette pal = m_FilterSettings.Filter->palette();
4843
4844 if(trace.hasErrors())
4845 {
4846 pal.setColor(QPalette::WindowText, QColor(170, 0, 0));
4847 m_FilterSettings.Notes->setPalette(pal);
4848 m_FilterSettings.Explanation->clear();
4849
4850 m_FilterSettings.Notes->setText(trace.errorText.trimmed());
4851
4852 QTextEdit::ExtraSelection sel;
4853
4854 sel.cursor = m_FilterSettings.Filter->textCursor();
4855 sel.cursor.setPosition(trace.position, QTextCursor::MoveAnchor);
4856
4857 sel.cursor.setPosition(trace.position + trace.length, QTextCursor::KeepAnchor);
4858 sel.format.setUnderlineStyle(QTextCharFormat::SingleUnderline);
4859 sel.format.setUnderlineColor(QColor(Qt::red));
4860 sels.push_back(sel);
4861 }
4862 else
4863 {
4864 m_FilterSettings.Notes->setPalette(pal);
4865
4866 int idx = 0;
4867 QString notesText;
4868
4869 AddFilterSelections(m_FilterSettings.Filter->textCursor(), idx,
4870 m_FilterSettings.Filter->palette().color(QPalette::Base),
4871 m_FilterSettings.Filter->palette().color(QPalette::Text), trace.exprs, sels);
4872 m_FilterSettings.Explanation->clear();
4873 AddFilterExplanations(m_FilterSettings.Explanation->invisibleRootItem(), trace.exprs, notesText);
4874
4875 if(trace.exprs.isEmpty())
4876 {
4877 m_FilterSettings.Explanation->addTopLevelItem(
4878 new RDTreeWidgetItem({tr("No filters - all events shown"), QString()}));
4879 }
4880
4881 m_FilterSettings.Notes->setText(QFormatStr("<html>%1</html>").arg(notesText.trimmed()));
4882
4883 ui->filterExpression->setPlainText(m_FilterSettings.Filter->toPlainText());
4884 m_FilterTimeout->stop();
4885 filter_apply();
4886 }
4887
4888 m_FilterSettings.Filter->setExtraSelections(sels);

Callers

nothing calls this directly

Calls 15

AddFilterSelectionsFunction · 0.85
isActiveMethod · 0.80
paletteMethod · 0.80
hasErrorsMethod · 0.80
setPaletteMethod · 0.80
trimmedMethod · 0.80
invisibleRootItemMethod · 0.80
addTopLevelItemMethod · 0.80
expandAllItemsMethod · 0.80
QColorFunction · 0.50
trFunction · 0.50

Tested by

no test coverage detected