summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/triage/byte.cpp6
-rw-r--r--examples/triage/byte.h1
-rw-r--r--examples/triage/view.cpp6
-rw-r--r--examples/triage/view.h1
-rw-r--r--ui/hexeditor.h2
-rw-r--r--ui/stringsview.h1
-rw-r--r--ui/tokenizedtextview.h1
-rw-r--r--ui/typeview.h1
-rw-r--r--ui/viewframe.h2
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);