summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorXusheng <xusheng@vector35.com>2024-05-23 15:52:36 +0800
committerXusheng <xusheng@vector35.com>2024-06-19 13:47:18 +0800
commitda698e7e15231ea1af75aab36cd87d03ae842424 (patch)
tree2865fa3f2ed5c115252e42ef5fc3e605e9537bcc /binaryview.cpp
parented4effd114fdda659319510a389ad9510135ea13 (diff)
Add a rebased callback for binary view
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index 68e6206b..0fd19d6d 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -523,6 +523,15 @@ void BinaryDataNotification::RedoEntryTakenCallback(void* ctxt, BNBinaryView* da
}
+void BinaryDataNotification::RebasedCallback(void *ctxt, BNBinaryView *oldView, BNBinaryView *newView)
+{
+ BinaryDataNotification* notify = (BinaryDataNotification*)ctxt;
+ Ref<BinaryView> view1 = new BinaryView(BNNewViewReference(oldView));
+ Ref<BinaryView> view2 = new BinaryView(BNNewViewReference(newView));
+ notify->OnRebased(view1, view2);
+}
+
+
BinaryDataNotification::BinaryDataNotification()
{
m_callbacks.context = this;
@@ -578,6 +587,7 @@ BinaryDataNotification::BinaryDataNotification()
m_callbacks.undoEntryAdded = UndoEntryAddedCallback;
m_callbacks.undoEntryTaken = UndoEntryTakenCallback;
m_callbacks.redoEntryTaken = RedoEntryTakenCallback;
+ m_callbacks.rebased = RebasedCallback;
}
@@ -636,6 +646,7 @@ BinaryDataNotification::BinaryDataNotification(NotificationTypes notifications)
m_callbacks.undoEntryAdded = (notifications & NotificationType::UndoEntryAdded) ? UndoEntryAddedCallback : nullptr;
m_callbacks.undoEntryTaken = (notifications & NotificationType::UndoEntryTaken) ? UndoEntryTakenCallback : nullptr;
m_callbacks.redoEntryTaken = (notifications & NotificationType::RedoEntryTaken) ? RedoEntryTakenCallback : nullptr;
+ m_callbacks.rebased = (notifications & NotificationType::Rebased) ? RebasedCallback : nullptr;
}