diff options
| author | Glenn Smith <glenn@vector35.com> | 2021-01-21 01:41:39 -0500 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2023-05-10 22:08:19 -0400 |
| commit | 1056993893066010014527953015588121223332 (patch) | |
| tree | 75dc5f9186aec35889aa238a48565565166589b3 | |
| parent | 0819449391714365703940844657418578461507 (diff) | |
Store log tokens in entries (for perf)
| -rw-r--r-- | ui/logview.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ui/logview.h b/ui/logview.h index 62926c3c..28cde73c 100644 --- a/ui/logview.h +++ b/ui/logview.h @@ -37,11 +37,18 @@ class ViewFrame; \ingroup logview */ +struct BINARYNINJAUIAPI LogTokenList +{ + std::vector<std::pair<int, int>> tokens; +}; + + struct BINARYNINJAUIAPI LogListItem { size_t sessionId; BNLogLevel level; std::string text; + LogTokenList tokens; bool selected; std::string logger; size_t threadId{0}; @@ -113,6 +120,7 @@ class BINARYNINJAUIAPI LogListModel : public QAbstractItemModel, BinaryNinja::Lo static constexpr int Message = Qt::UserRole + 4; static constexpr int Session = Qt::UserRole + 5; static constexpr int FormattedMessage = Qt::UserRole + 6; + static constexpr int Tokens = Qt::UserRole + 7; LogListModel(QWidget* parent); ~LogListModel(); @@ -125,6 +133,9 @@ class BINARYNINJAUIAPI LogListModel : public QAbstractItemModel, BinaryNinja::Lo virtual void LogMessage(size_t sessionId, BNLogLevel level, const std::string& msg, const std::string& loggerName = "", size_t tid = 0) override; virtual BNLogLevel GetLogLevel() override; + QString getFormattedMessage(const LogListItem& item) const; + void updateTokens(); + virtual QModelIndex index(int row, int col, const QModelIndex& parent) const override; virtual QModelIndex parent(const QModelIndex& i) const override; virtual bool hasChildren(const QModelIndex& parent) const override; |
