diff options
| author | Josh Ferrell <josh@vector35.com> | 2024-05-09 22:53:01 -0400 |
|---|---|---|
| committer | Josh Ferrell <josh@vector35.com> | 2024-05-14 15:11:16 -0400 |
| commit | 08c5286c19fd78fa9d3b9f469a639c7a1013f22e (patch) | |
| tree | 9f8c4dca8a387431d3c9b2209bcdf88f8dfc832a /binaryview.cpp | |
| parent | cb407be11b08c1c427fcf33a49974155e522e14a (diff) | |
History widget
Diffstat (limited to 'binaryview.cpp')
| -rw-r--r-- | binaryview.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp index 51ee2ee9..6bb485d2 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -496,6 +496,33 @@ void BinaryDataNotification::TypeArchiveDisconnectedCallback(void* ctxt, BNBinar } +void BinaryDataNotification::UndoEntryAddedCallback(void* ctxt, BNBinaryView* data, BNUndoEntry* entry) +{ + BinaryDataNotification* notify = (BinaryDataNotification*)ctxt; + Ref<BinaryView> view = new BinaryView(BNNewViewReference(data)); + Ref<UndoEntry> apiEntry = new UndoEntry(BNNewUndoEntryReference(entry)); + notify->OnUndoEntryAdded(view, apiEntry); +} + + +void BinaryDataNotification::UndoEntryTakenCallback(void* ctxt, BNBinaryView* data, BNUndoEntry* entry) +{ + BinaryDataNotification* notify = (BinaryDataNotification*)ctxt; + Ref<BinaryView> view = new BinaryView(BNNewViewReference(data)); + Ref<UndoEntry> apiEntry = new UndoEntry(BNNewUndoEntryReference(entry)); + notify->OnUndoEntryTaken(view, apiEntry); +} + + +void BinaryDataNotification::RedoEntryTakenCallback(void* ctxt, BNBinaryView* data, BNUndoEntry* entry) +{ + BinaryDataNotification* notify = (BinaryDataNotification*)ctxt; + Ref<BinaryView> view = new BinaryView(BNNewViewReference(data)); + Ref<UndoEntry> apiEntry = new UndoEntry(BNNewUndoEntryReference(entry)); + notify->OnRedoEntryTaken(view, apiEntry); +} + + BinaryDataNotification::BinaryDataNotification() { m_callbacks.context = this; @@ -548,6 +575,9 @@ BinaryDataNotification::BinaryDataNotification() m_callbacks.typeArchiveDetached = TypeArchiveDetachedCallback; m_callbacks.typeArchiveConnected = TypeArchiveConnectedCallback; m_callbacks.typeArchiveDisconnected = TypeArchiveDisconnectedCallback; + m_callbacks.undoEntryAdded = UndoEntryAddedCallback; + m_callbacks.undoEntryTaken = UndoEntryTakenCallback; + m_callbacks.redoEntryTaken = RedoEntryTakenCallback; } @@ -603,6 +633,9 @@ BinaryDataNotification::BinaryDataNotification(NotificationTypes notifications) m_callbacks.typeArchiveDetached = (notifications & NotificationType::TypeArchiveDetached) ? TypeArchiveDetachedCallback : nullptr; m_callbacks.typeArchiveConnected = (notifications & NotificationType::TypeArchiveConnected) ? TypeArchiveConnectedCallback : nullptr; m_callbacks.typeArchiveDisconnected = (notifications & NotificationType::TypeArchiveDisconnected) ? TypeArchiveDisconnectedCallback : nullptr; + m_callbacks.undoEntryAdded = (notifications & NotificationType::UndoEntryAdded) ? UndoEntryAddedCallback : nullptr; + m_callbacks.undoEntryTaken = (notifications & NotificationType::UndoEntryTaken) ? UndoEntryTakenCallback : nullptr; + m_callbacks.redoEntryTaken = (notifications & NotificationType::RedoEntryTaken) ? RedoEntryTakenCallback : nullptr; } |
