diff options
| author | Brian Potchik <brian@vector35.com> | 2019-03-20 15:59:37 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2019-03-20 15:59:37 -0400 |
| commit | bc226a8d813b48042581b745068771f6817753ed (patch) | |
| tree | e9ea93db7e451770718e696b93c53113f5dce462 | |
| parent | 8e943538fcfaed733e813175db8ba8d8f6fdcc91 (diff) | |
Add data sensitivity to dock widget system.
| -rw-r--r-- | ui/dockhandler.h | 2 | ||||
| -rw-r--r-- | ui/featuremap.h | 3 | ||||
| -rw-r--r-- | ui/functionlist.h | 5 | ||||
| -rw-r--r-- | ui/minigraph.h | 1 | ||||
| -rw-r--r-- | ui/viewframe.h | 9 |
5 files changed, 10 insertions, 10 deletions
diff --git a/ui/dockhandler.h b/ui/dockhandler.h index 08392532..737eba5a 100644 --- a/ui/dockhandler.h +++ b/ui/dockhandler.h @@ -62,10 +62,10 @@ public: QWidget* getParentWindow() { return m_parentWindow; } virtual void focusInput() { }; - virtual bool isAvailable(ViewFrame* /*frame*/) { return true; }; virtual void notifyViewChanged(ViewFrame* /*frame*/) { }; virtual bool shouldBeVisible(ViewFrame* /*frame*/) { return true; }; virtual void updateFonts() { }; + virtual void updateTheme() { }; }; class BINARYNINJAUIAPI DockHandler: public QObject diff --git a/ui/featuremap.h b/ui/featuremap.h index bc2a13cd..eb8970d3 100644 --- a/ui/featuremap.h +++ b/ui/featuremap.h @@ -71,7 +71,8 @@ public: void backgroundRefresh(); std::pair<uint64_t, bool> getOffsetForAddress(uint64_t addr); void setCurrentLocation(uint64_t address); - void updateTheme(); + + virtual void updateTheme() override; void renderDataVariable(const BinaryNinja::DataVariable& var, bool ignoreString = false); diff --git a/ui/functionlist.h b/ui/functionlist.h index 893a09ce..c9119d3e 100644 --- a/ui/functionlist.h +++ b/ui/functionlist.h @@ -13,6 +13,8 @@ #define FUNCTION_LIST_UPDATE_INTERVAL 250 +class FunctionsView; + class BINARYNINJAUIAPI FunctionListModel: public QAbstractItemModel, public BinaryNinja::BinaryDataNotification { Q_OBJECT @@ -103,12 +105,13 @@ class BINARYNINJAUIAPI FunctionList: public QListView, public FilterTarget ViewFrame* m_view; BinaryViewRef m_data; + FunctionsView* m_functionsView; FunctionListModel* m_list; QTimer* m_updateTimer; bool m_disableScrollToFunction; public: - FunctionList(QWidget* parent, ViewFrame* frame, BinaryViewRef data); + FunctionList(FunctionsView* parent, ViewFrame* frame, BinaryViewRef data); void updateFonts(); void setCurrentFunction(FunctionRef func); diff --git a/ui/minigraph.h b/ui/minigraph.h index 25baa58c..d0a1c0cb 100644 --- a/ui/minigraph.h +++ b/ui/minigraph.h @@ -23,7 +23,6 @@ public: MiniGraph(QWidget* parent); ~MiniGraph(); - virtual bool isAvailable(ViewFrame* frame) override; virtual void notifyViewChanged(ViewFrame* frame) override; virtual bool shouldBeVisible(ViewFrame* frame) override; diff --git a/ui/viewframe.h b/ui/viewframe.h index 402c95c9..6217fffa 100644 --- a/ui/viewframe.h +++ b/ui/viewframe.h @@ -157,7 +157,7 @@ class BINARYNINJAUIAPI ViewFrame : public QWidget Q_OBJECT private: - QWidget* createView(const QString& typeName, ViewType* type, BinaryViewRef data); + QWidget* createView(const QString& typeName, ViewType* type, BinaryViewRef data, bool createExtendedViews = true); HistoryEntry* getHistoryEntry(); FileContext* m_context; @@ -165,15 +165,12 @@ private: QWidget* m_view; QWidget* m_viewContainer; QVBoxLayout* m_viewLayout; - std::map<QString, QPointer<QWidget>> m_extendedViewCache; + std::map<QString, std::map<QString, QPointer<QWidget>>> m_extViewCache; std::map<QString, QWidget*> m_viewCache; std::stack<BinaryNinja::Ref<HistoryEntry>> m_back, m_forward; bool m_graphViewPreferred = false; std::vector<QString> m_viewTypePriority; - FunctionsView* m_funcs = nullptr; - FeatureMap* m_featureMap = nullptr; - UIActionHandler m_actionHandler; protected: @@ -190,7 +187,6 @@ public: virtual ~ViewFrame(); FileContext* getFileContext() const { return m_context; } - FunctionsView* getFunctionsView() const { return m_funcs; } QString getTabName(); QString getShortFileName(); @@ -220,6 +216,7 @@ public: bool navigateToFunction(FunctionRef func, uint64_t offset, bool updateInfo = true); bool goToReference(BinaryViewRef data, FunctionRef func, uint64_t source, uint64_t target); QString getTypeForView(QWidget* view); + QString getDataTypeForView(const QString& type); QString getDataTypeForView(QWidget* view); bool closeRequest(); |
