diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2025-08-06 16:41:26 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2025-08-29 15:42:09 -0400 |
| commit | 5c4abf48ab4b77555a79777bc37d52c842ee149a (patch) | |
| tree | a9daf8875c7ed70b55bc730de5a63621801a8019 /ui/xrefstate.h | |
| parent | 2303f75b080f6dd0c9a5c669a71f64ce830f5650 (diff) | |
Add a Pinned Cross References tab to hold pinned references
Diffstat (limited to 'ui/xrefstate.h')
| -rw-r--r-- | ui/xrefstate.h | 30 |
1 files changed, 30 insertions, 0 deletions
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<SplitPaneContainer*, std::map<QString, SelectionInfoForXref>> m_curXref; + SplitPaneContainer* m_currentContainer = nullptr; + QString m_currentDataType; + +public: + CrossReferenceState(); + + std::optional<SelectionInfoForXref> 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); +}; |
