diff options
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); +}; |
