summaryrefslogtreecommitdiff
path: root/ui/functionsview.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2019-03-19 15:41:08 -0400
committerRusty Wagner <rusty@vector35.com>2019-03-20 13:00:17 -0400
commit411acbaa4a1d217e731d3df0b189445117be3b26 (patch)
tree49b5c5290058ffb98dd23ec9a7c1a49921254d15 /ui/functionsview.h
parentca1bc587c22928bbd7198813064c9615c3c12771 (diff)
Add in progress UI API headers
Diffstat (limited to 'ui/functionsview.h')
-rw-r--r--ui/functionsview.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/ui/functionsview.h b/ui/functionsview.h
new file mode 100644
index 00000000..02164079
--- /dev/null
+++ b/ui/functionsview.h
@@ -0,0 +1,41 @@
+#pragma once
+
+#include <QtCore/QTimer>
+#include "binaryninjaapi.h"
+#include "dockhandler.h"
+#include "filter.h"
+
+class ViewFrame;
+class FunctionList;
+
+class BINARYNINJAUIAPI FunctionsView: public QWidget, public DockContextHandler, public BinaryNinja::BinaryDataNotification
+{
+ Q_OBJECT
+
+ BinaryViewRef m_data;
+
+ FunctionList* m_funcList;
+ FilteredView* m_funcFilter;
+
+ bool m_updatesPending;
+ QTimer* m_updateTimer;
+
+public:
+ FunctionsView(ViewFrame* frame, BinaryViewRef data);
+ virtual ~FunctionsView();
+
+ FunctionList* getFunctionList() { return m_funcList; }
+ FilteredView* getFunctionFilter() { return m_funcFilter; }
+
+ virtual void OnBinaryDataWritten(BinaryNinja::BinaryView* data, uint64_t offset, size_t len) override;
+ virtual void OnBinaryDataInserted(BinaryNinja::BinaryView* data, uint64_t offset, size_t len) override;
+ virtual void OnBinaryDataRemoved(BinaryNinja::BinaryView* data, uint64_t offset, uint64_t len) override;
+
+protected:
+ virtual void contextMenuEvent(QContextMenuEvent* event) override;
+ virtual bool shouldBeVisible(ViewFrame* frame) override;
+ virtual void updateFonts() override;
+
+private Q_SLOTS:
+ void updateTimerEvent();
+};