From 5c4abf48ab4b77555a79777bc37d52c842ee149a Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Wed, 6 Aug 2025 16:41:26 -0400 Subject: Add a Pinned Cross References tab to hold pinned references --- ui/xrefstate.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 ui/xrefstate.h (limited to 'ui/xrefstate.h') diff --git a/ui/xrefstate.h b/ui/xrefstate.h new file mode 100644 index 00000000..e81be4a0 --- /dev/null +++ b/ui/xrefstate.h @@ -0,0 +1,30 @@ +#pragma once + +#include "binaryninjaapi.h" +#include "uicontext.h" + +class SplitPaneContainer; +class SplitPaneWidget; + +class BINARYNINJAUIAPI CrossReferenceState +{ + std::map> m_curXref; + SplitPaneContainer* m_currentContainer = nullptr; + QString m_currentDataType; + +public: + CrossReferenceState(); + + std::optional getCurrentSelection() const; + + void updateCrossReferences(ViewFrame* frame, const SelectionInfoForXref& selection); + void beginNavigationForCrossReference(ViewFrame* frame, const SelectionInfoForXref& selection); + + void setActiveContext(ViewFrame* frame); + void destroyContext(SplitPaneWidget* splitPane); + + void newPinnedTab(); + void newPinnedPane(); + + void bindActions(UIContext* context); +}; -- cgit v1.3.1