diff options
| author | Brian Potchik <brian@vector35.com> | 2025-03-13 23:32:05 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2025-03-13 23:32:05 -0400 |
| commit | 58c06d8101bfc60d42e6e6688f66b061315efdfa (patch) | |
| tree | 0f4c61a4074d1db46b085644b3368b3ed30eb10d /ui/memorymap.h | |
| parent | 6baf0bc2f3058efd5e0b33e128729f5b1e6f7f2d (diff) | |
Migrate MemoryMap UI to use NotificationsDispatcher.
Diffstat (limited to 'ui/memorymap.h')
| -rw-r--r-- | ui/memorymap.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/ui/memorymap.h b/ui/memorymap.h index e766e6a8..27ec4cd9 100644 --- a/ui/memorymap.h +++ b/ui/memorymap.h @@ -10,6 +10,8 @@ #include <QtWidgets/QStyledItemDelegate> #include <QtCore/QSortFilterProxyModel> +#include "binaryninjaapi.h" +#include "notificationsdispatcher.h" #include "render.h" #include "sidebar.h" #include "uitypes.h" @@ -94,7 +96,7 @@ enum class SegmentColumn : int { }; -class BINARYNINJAUIAPI SegmentModel : public QAbstractItemModel, public BinaryNinja::BinaryDataNotification +class BINARYNINJAUIAPI SegmentModel : public QAbstractItemModel { BinaryViewRef m_data; @@ -118,9 +120,7 @@ public: QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; - virtual void OnSegmentAdded(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override; - virtual void OnSegmentUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override; - virtual void OnSegmentRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Segment* segment) override; + void updateSegments(std::vector<SegmentRef>&& segments); }; /*! @@ -151,6 +151,8 @@ public: SegmentWidget(BinaryViewRef data, QWidget* parent = nullptr); virtual ~SegmentWidget(); + SegmentModel* model() { return m_model; } + void updateFont(); void highlightRelatedSegments(SectionRef section); void currentRowChanged(const QModelIndex& current, const QModelIndex& previous); @@ -172,7 +174,7 @@ enum class SectionColumn: int }; -class BINARYNINJAUIAPI SectionModel : public QAbstractItemModel, public BinaryNinja::BinaryDataNotification +class BINARYNINJAUIAPI SectionModel : public QAbstractItemModel { BinaryViewRef m_data; @@ -196,9 +198,7 @@ public: QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; - virtual void OnSectionAdded(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override; - virtual void OnSectionUpdated(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override; - virtual void OnSectionRemoved(BinaryNinja::BinaryView* data, BinaryNinja::Section* section) override; + void updateSections(std::vector<SectionRef>&& sections); }; /*! @@ -225,6 +225,8 @@ public: SectionWidget(BinaryViewRef data, QWidget* parent = nullptr); virtual ~SectionWidget(); + SectionModel* model() { return m_model; } + void updateFont(); void highlightRelatedSections(SegmentRef segment); void currentRowChanged(const QModelIndex& current, const QModelIndex& previous); @@ -247,6 +249,7 @@ class BINARYNINJAUIAPI MemoryMapView : public QWidget, public View Q_OBJECT BinaryViewRef m_data; + std::unique_ptr<NotificationsDispatcher> m_dispatcher = nullptr; MemoryMapContainer* m_container; SectionWidget* m_sectionWidget; |
