summaryrefslogtreecommitdiff
path: root/ui/xreflist.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2021-06-02 11:27:24 -0400
committerRusty Wagner <rusty.wagner@gmail.com>2021-07-28 19:31:25 -0400
commitc08ddcab02433cb5078b6cfea11bf972e47b3169 (patch)
tree02f05276ac497521a76e1591f3776e4f1cfe31d9 /ui/xreflist.h
parent8c0fa1737552e548909a435ddcc2b661a71b5da9 (diff)
Add sidebar and move some dock widgets to it
Diffstat (limited to 'ui/xreflist.h')
-rw-r--r--ui/xreflist.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/ui/xreflist.h b/ui/xreflist.h
index d603c599..403178f2 100644
--- a/ui/xreflist.h
+++ b/ui/xreflist.h
@@ -20,7 +20,7 @@
#include <memory>
#include "binaryninjaapi.h"
-#include "dockhandler.h"
+#include "sidebar.h"
#include "viewframe.h"
#include "fontsettings.h"
#include "expandablegroup.h"
@@ -452,10 +452,9 @@ Q_SIGNALS:
class ExpandableGroup;
class QCheckboxCombo;
-class BINARYNINJAUIAPI CrossReferenceWidget: public QWidget, public DockContextHandler
+class BINARYNINJAUIAPI CrossReferenceWidget: public SidebarWidget, public UIContextNotification
{
Q_OBJECT
- Q_INTERFACES(DockContextHandler)
ViewFrame* m_view;
BinaryViewRef m_data;
@@ -488,11 +487,12 @@ class BINARYNINJAUIAPI CrossReferenceWidget: public QWidget, public DockContextH
public:
CrossReferenceWidget(ViewFrame* view, BinaryViewRef data, bool pinned);
+ virtual ~CrossReferenceWidget();
virtual void notifyFontChanged() override;
- virtual bool shouldBeVisible(ViewFrame* frame) override;
virtual QString getHeaderText(SelectionInfoForXref selectionInfo);
virtual void setCurrentSelection(SelectionInfoForXref selectionInfo);
+ virtual void updateCrossReferences();
virtual void setCurrentPinnedSelection(SelectionInfoForXref selectionInfo);
void updatePinnedSelection();
virtual void navigateToNext();
@@ -510,6 +510,11 @@ public:
bool uiMaxItemsExceeded() const { return m_uiMaxItemsExceeded; }
void setUIMaxItemsExceeded(bool value) { m_uiMaxItemsExceeded = value; }
+ virtual void focus() override;
+
+ virtual void OnNewSelectionForXref(UIContext* context, ViewFrame* frame, View* view,
+ const SelectionInfoForXref& selection) override;
+
private Q_SLOTS:
void hoverTimerEvent();
@@ -522,6 +527,15 @@ public Q_SLOTS:
};
+class BINARYNINJAUIAPI CrossReferenceSidebarWidgetType: public SidebarWidgetType
+{
+public:
+ CrossReferenceSidebarWidgetType();
+ virtual bool isInReferenceArea() const override { return true; }
+ virtual SidebarWidget* createWidget(ViewFrame* frame, BinaryViewRef data) override;
+};
+
+
// https://github.com/CuriousCrow/QCheckboxCombo
/*
* QCheckboxCombo is a combobox widget that contains items with checkboxes