diff options
| -rw-r--r-- | examples/triage/byte.cpp | 6 | ||||
| -rw-r--r-- | examples/triage/byte.h | 1 | ||||
| -rw-r--r-- | examples/triage/view.cpp | 6 | ||||
| -rw-r--r-- | examples/triage/view.h | 1 | ||||
| -rw-r--r-- | ui/hexeditor.h | 2 | ||||
| -rw-r--r-- | ui/stringsview.h | 1 | ||||
| -rw-r--r-- | ui/tokenizedtextview.h | 1 | ||||
| -rw-r--r-- | ui/typeview.h | 1 | ||||
| -rw-r--r-- | ui/viewframe.h | 2 |
9 files changed, 19 insertions, 2 deletions
diff --git a/examples/triage/byte.cpp b/examples/triage/byte.cpp index 9fdb80be..58835ed7 100644 --- a/examples/triage/byte.cpp +++ b/examples/triage/byte.cpp @@ -158,6 +158,12 @@ BNAddressRange ByteView::getSelectionOffsets() return { start, end }; } +void ByteView::setSelectionOffsets(BNAddressRange range) +{ + navigate(range.start); + m_selectionStartAddr = range.start; + m_cursorAddr = range.end; +} void ByteView::updateRanges() { diff --git a/examples/triage/byte.h b/examples/triage/byte.h index f98e7472..61cb51a4 100644 --- a/examples/triage/byte.h +++ b/examples/triage/byte.h @@ -83,6 +83,7 @@ public: virtual QFont getFont() override; virtual uint64_t getCurrentOffset() override; virtual BNAddressRange getSelectionOffsets() override; + virtual void setSelectionOffsets(BNAddressRange range) override; virtual bool navigate(uint64_t addr) override; virtual void updateFonts() override; virtual void selectAll(); diff --git a/examples/triage/view.cpp b/examples/triage/view.cpp index 6f5729b4..417006b2 100644 --- a/examples/triage/view.cpp +++ b/examples/triage/view.cpp @@ -125,6 +125,12 @@ BNAddressRange TriageView::getSelectionOffsets() return { m_currentOffset, m_currentOffset }; } +void TriageView::setSelectionOffsets(BNAddressRange range) +{ + // for subclass of View who does not have a meaningful setSelectionOffsets() behavior, + // we navigate to the start of the selection range + navigate(range.start); +} void TriageView::setCurrentOffset(uint64_t offset) { diff --git a/examples/triage/view.h b/examples/triage/view.h index 973ab83a..37e53e7c 100644 --- a/examples/triage/view.h +++ b/examples/triage/view.h @@ -19,6 +19,7 @@ public: virtual BinaryViewRef getData() override; virtual uint64_t getCurrentOffset() override; virtual BNAddressRange getSelectionOffsets() override; + virtual void setSelectionOffsets(BNAddressRange range) override; virtual QFont getFont() override; virtual bool navigate(uint64_t addr) override; diff --git a/ui/hexeditor.h b/ui/hexeditor.h index aa64ed08..00a583f6 100644 --- a/ui/hexeditor.h +++ b/ui/hexeditor.h @@ -36,7 +36,7 @@ public: virtual void selectNone(); void setSelectionRange(uint64_t begin, uint64_t end); - void setSelectionOffsets(BNAddressRange range); + virtual void setSelectionOffsets(BNAddressRange range) override; virtual void updateFonts() override; diff --git a/ui/stringsview.h b/ui/stringsview.h index 00b49acc..5b5dbff5 100644 --- a/ui/stringsview.h +++ b/ui/stringsview.h @@ -96,6 +96,7 @@ public: virtual BinaryViewRef getData() override { return m_data; } virtual uint64_t getCurrentOffset() override; virtual BNAddressRange getSelectionOffsets() override; + virtual void setSelectionOffsets(BNAddressRange range) override; virtual bool navigate(uint64_t offset) override; virtual void updateFonts() override; diff --git a/ui/tokenizedtextview.h b/ui/tokenizedtextview.h index 190dbfca..28d0399b 100644 --- a/ui/tokenizedtextview.h +++ b/ui/tokenizedtextview.h @@ -122,6 +122,7 @@ public: virtual uint64_t getCurrentOffset() override; virtual BNAddressRange getSelectionOffsets() override; virtual BNAddressRange getSelectionForInfo() override; + virtual void setSelectionOffsets(BNAddressRange range) override; virtual FunctionRef getCurrentFunction() override; virtual BasicBlockRef getCurrentBasicBlock() override; virtual ArchitectureRef getCurrentArchitecture() override; diff --git a/ui/typeview.h b/ui/typeview.h index ee7c2640..1e3b1c25 100644 --- a/ui/typeview.h +++ b/ui/typeview.h @@ -157,6 +157,7 @@ public: virtual BinaryViewRef getData() override { return m_data; } virtual uint64_t getCurrentOffset() override; virtual BNAddressRange getSelectionOffsets() override; + virtual void setSelectionOffsets(BNAddressRange range) override; virtual bool navigate(uint64_t) override; virtual std::string getNavigationMode() override; diff --git a/ui/viewframe.h b/ui/viewframe.h index 23c7c446..7d63b84a 100644 --- a/ui/viewframe.h +++ b/ui/viewframe.h @@ -72,7 +72,7 @@ public: virtual uint64_t getCurrentOffset() = 0; virtual BNAddressRange getSelectionOffsets(); virtual BNAddressRange getSelectionForInfo(); - virtual void setSelectionOffsets(BNAddressRange range); + virtual void setSelectionOffsets(BNAddressRange range) = 0; virtual bool navigate(uint64_t offset) = 0; virtual bool navigateToFunction(FunctionRef func, uint64_t offset); virtual bool goToReference(FunctionRef func, uint64_t source, uint64_t target); |
