summaryrefslogtreecommitdiff
path: root/ui/xrefstate.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/xrefstate.h')
-rw-r--r--ui/xrefstate.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/ui/xrefstate.h b/ui/xrefstate.h
index e81be4a0..56b46881 100644
--- a/ui/xrefstate.h
+++ b/ui/xrefstate.h
@@ -1,14 +1,22 @@
#pragma once
+#include <QtCore/QModelIndex>
#include "binaryninjaapi.h"
#include "uicontext.h"
+#include "viewframe.h"
class SplitPaneContainer;
class SplitPaneWidget;
class BINARYNINJAUIAPI CrossReferenceState
{
- std::map<SplitPaneContainer*, std::map<QString, SelectionInfoForXref>> m_curXref;
+ struct Selection
+ {
+ SelectionInfoForXref selectionInfo;
+ std::optional<int> previousDialogSelection;
+ };
+
+ std::map<SplitPaneContainer*, std::map<QString, Selection>> m_selections;
SplitPaneContainer* m_currentContainer = nullptr;
QString m_currentDataType;
@@ -16,6 +24,7 @@ public:
CrossReferenceState();
std::optional<SelectionInfoForXref> getCurrentSelection() const;
+ std::optional<int> getPreviousDialogSelection() const;
void updateCrossReferences(ViewFrame* frame, const SelectionInfoForXref& selection);
void beginNavigationForCrossReference(ViewFrame* frame, const SelectionInfoForXref& selection);
@@ -25,6 +34,8 @@ public:
void newPinnedTab();
void newPinnedPane();
+ void modalDialog();
+ void focusSidebar();
void bindActions(UIContext* context);
};