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

Method LogView

qrenderdoc/Windows/LogView.cpp:275–333  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

273static QList<QString> logTypeStrings;
274
275LogView::LogView(ICaptureContext &ctx, QWidget *parent)
276 : QFrame(parent), ui(new Ui::LogView), m_Ctx(ctx)
277{
278 ui->setupUi(this);
279
280 m_ItemModel = new LogItemModel(this);
281 m_FilterModel = new LogFilterModel(this);
282
283 m_FilterModel->setSourceModel(m_ItemModel);
284 ui->messages->setModel(m_FilterModel);
285
286 ui->messages->viewport()->installEventFilter(this);
287
288 m_delegate = new RichTextViewDelegate(ui->messages);
289 ui->messages->setItemDelegate(m_delegate);
290
291 ui->messages->setMouseTracking(true);
292
293 ui->messages->setFont(Formatter::FixedFont());
294
295 m_TypeModel = new QStandardItemModel(0, 1, this);
296
297 m_TypeModel->appendRow(new QStandardItem(tr("Log Type")));
298
299 for(LogType type : values<LogType>())
300 {
301 logTypeStrings.push_back(ToQStr(type));
302
303 QStandardItem *item = new QStandardItem(ToQStr(type));
304 item->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
305 item->setData(Qt::Checked, Qt::CheckStateRole);
306 m_TypeModel->appendRow(item);
307 }
308
309 ui->typeFilter->setModel(m_TypeModel);
310
311 m_PIDModel = new QStandardItemModel(0, 1, this);
312
313 m_PIDModel->appendRow(new QStandardItem(tr("PID")));
314
315 ui->pidFilter->setModel(m_PIDModel);
316
317 ui->messages->header()->setSectionResizeMode(QHeaderView::Fixed);
318
319 for(int c = 0; c < m_ItemModel->columnCount(); c++)
320 ui->messages->resizeColumnToContents(c);
321
322 messages_refresh();
323
324 QObject::connect(m_TypeModel, &QStandardItemModel::itemChanged, this, &LogView::typeFilter_changed);
325 QObject::connect(m_PIDModel, &QStandardItemModel::itemChanged, this, &LogView::pidFilter_changed);
326
327 QObject::connect(ui->messages, &RDTreeView::keyPress, this, &LogView::messages_keyPress);
328
329 QObject::connect(&m_RefreshTimer, &QTimer::timeout, this, &LogView::messages_refresh);
330 m_RefreshTimer.setSingleShot(false);
331 m_RefreshTimer.setInterval(125);
332 m_RefreshTimer.start();

Callers

nothing calls this directly

Calls 15

connectFunction · 0.85
setMouseTrackingMethod · 0.80
appendRowMethod · 0.80
setFlagsMethod · 0.80
headerMethod · 0.80
setSingleShotMethod · 0.80
trFunction · 0.50
ToQStrFunction · 0.50
setModelMethod · 0.45
viewportMethod · 0.45
setItemDelegateMethod · 0.45
setFontMethod · 0.45

Tested by

no test coverage detected