summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorMark Rowe <mark@vector35.com>2026-04-21 21:26:47 -0700
committerMark Rowe <mark@vector35.com>2026-04-23 19:03:17 -0700
commit88833c4256517df042d72136e6ad332e88a7b53e (patch)
tree773c2bc28d4d9e6710b2f1e869688fca1d0e0f42 /ui
parente508e8f4a240ea870ca47060ebb3b7e9d7091e14 (diff)
Add a hover preview for extern symbols that includes type information
A new preview type is added for extern symbols that includes the external library name, if known, the symbol type, and any call type override that is applied at the hovered callsite. Previously, hovering an extern symbol would display a hex preview of the synthetic extern section which was of limited value.
Diffstat (limited to 'ui')
-rw-r--r--ui/uitypes.h2
-rw-r--r--ui/util.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/ui/uitypes.h b/ui/uitypes.h
index 4c2e9404..68b18655 100644
--- a/ui/uitypes.h
+++ b/ui/uitypes.h
@@ -6,7 +6,7 @@
// there are changes to the API that affect linking, including new functions,
// new types, modifications to existing functions or types, or new versions
// of the Qt libraries.
-#define BN_CURRENT_UI_ABI_VERSION 14
+#define BN_CURRENT_UI_ABI_VERSION 15
// Minimum ABI version that is supported for loading of plugins. Plugins that
// are linked to an ABI version less than this will not be able to load and
diff --git a/ui/util.h b/ui/util.h
index cae089b0..9f5365ca 100644
--- a/ui/util.h
+++ b/ui/util.h
@@ -175,6 +175,8 @@ void BINARYNINJAUIAPI showHexPreview(QWidget* parent, ViewFrame* frame, const QP
bool BINARYNINJAUIAPI showDisassemblyPreview(QWidget* parent, ViewFrame* frame, const QPoint& previewPos,BinaryViewRef data, FunctionRef func,
const ViewLocation& location);
void BINARYNINJAUIAPI showTextTooltip(QWidget* parent, const QPoint& previewPos, const QString& text);
+void BINARYNINJAUIAPI showTokenTooltip(QWidget* parent, const QPoint& previewPos,
+ const std::vector<std::vector<BinaryNinja::InstructionTextToken>>& lines);
// Interpret the hovered token and, if applicable, displays a tooltip or preview. If no token-driven preview matches
// and `dataflowFallbackAddress` is set, a dataflow-details tooltip is shown for that address.