diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2021-06-02 11:27:24 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2021-07-28 19:31:25 -0400 |
| commit | c08ddcab02433cb5078b6cfea11bf972e47b3169 (patch) | |
| tree | 02f05276ac497521a76e1591f3776e4f1cfe31d9 /ui/xreflist.h | |
| parent | 8c0fa1737552e548909a435ddcc2b661a71b5da9 (diff) | |
Add sidebar and move some dock widgets to it
Diffstat (limited to 'ui/xreflist.h')
| -rw-r--r-- | ui/xreflist.h | 22 |
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 |
