From 5fc08034ea071119c5407898c81d0aa012512430 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Thu, 18 Jul 2024 23:06:19 -0400 Subject: MemoryMap update with new segment model. --- ui/featuremap.h | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'ui/featuremap.h') diff --git a/ui/featuremap.h b/ui/featuremap.h index ec2f562a..e3040831 100644 --- a/ui/featuremap.h +++ b/ui/featuremap.h @@ -16,6 +16,7 @@ #include "binaryninjaapi.h" #include "dockhandler.h" +#include "notificationsdispatcher.h" #include "uitypes.h" class ContextMenuManager; @@ -38,12 +39,14 @@ class BINARYNINJAUIAPI FeatureMap : public QWidget, public BinaryNinja::BinaryDa Q_OBJECT std::vector m_imageData; - QImage* m_image = nullptr; - QImage* m_staticImage = nullptr; - std::vector> m_regions; + std::unique_ptr m_image = nullptr; + std::unique_ptr m_staticImage = nullptr; + std::vector m_ranges; SplitPaneWidget* m_owner = nullptr; BinaryViewRef m_data; + std::unique_ptr m_dispatcher = nullptr; + bool m_requestMappedRegionUpdate = false; bool m_updatesPending = false; QTimer* m_updateTimer = nullptr; @@ -65,21 +68,8 @@ class BINARYNINJAUIAPI FeatureMap : public QWidget, public BinaryNinja::BinaryDa Menu m_menu; ContextMenuManager* m_contextMenuManager; - class BackgroundRefresh : public BinaryNinja::RefCountObject - { - std::mutex m_mutex; - bool m_valid; - QPointer m_featureMap; - - public: - BackgroundRefresh(FeatureMap* featureMap); - void start(); - void abort(); - }; - - BinaryNinja::Ref m_backgroundRefresh = nullptr; - void updateCoordinates(); + void updateMappedRegions(); public: FeatureMap(SplitPaneWidget* owner, BinaryViewRef data, bool vertical = true); @@ -120,7 +110,6 @@ protected: void notifyThemeUpdated(); private Q_SLOTS: - void refresh(); + void renderAnalysisData(); void updateThemeInternal(); - void updateTimerEvent(); }; -- cgit v1.3.1