summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorXusheng <xusheng@vector35.com>2020-09-18 18:35:27 +0800
committerXusheng <xusheng@vector35.com>2020-10-15 12:50:02 +0800
commitcbe3ded641a0ce4b50ae447a4426b71f3e0f0119 (patch)
tree339cff6f061f89a49a78f82626dd5601c448bf05 /ui
parentd77c63efc16070868bf6eb87d274bf846f4440f7 (diff)
edit current line in linear view
add CanAssemble() to architectures
Diffstat (limited to 'ui')
-rw-r--r--ui/linearview.h7
-rw-r--r--ui/viewframe.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/ui/linearview.h b/ui/linearview.h
index 3f152f9c..f792d921 100644
--- a/ui/linearview.h
+++ b/ui/linearview.h
@@ -9,6 +9,8 @@
#include "menus.h"
#include "statusbarwidget.h"
#include "uicontext.h"
+#include "instructionedit.h"
+#include <assembledialog.h>
#define LINEAR_VIEW_UPDATE_CHECK_INTERVAL 200
#define MAX_STRING_TYPE_LENGTH 1048576
@@ -123,6 +125,8 @@ class BINARYNINJAUIAPI LinearView: public QAbstractScrollArea, public View, publ
DisassemblySettingsRef m_options;
BNFunctionGraphType m_type;
+ InstructionEdit* m_instrEdit;
+
BinaryNinja::Ref<BinaryNinja::LinearViewCursor> m_topPosition, m_bottomPosition;
std::vector<LinearViewLine> m_lines;
size_t m_topLine;
@@ -255,6 +259,9 @@ private Q_SLOTS:
void setStackAdjustment();
void setCallTypeAdjustment();
+ void editInstruction();
+ void instrEditDoneEvent();
+
Q_SIGNALS:
void notifyResizeEvent(int width, int height);
diff --git a/ui/viewframe.h b/ui/viewframe.h
index 4d367074..b54ec8c0 100644
--- a/ui/viewframe.h
+++ b/ui/viewframe.h
@@ -258,6 +258,8 @@ public:
static void registerActions();
static ViewFrame* viewFrameForWidget(QWidget* widget);
+ static bool lineHasInstructionToken(const BinaryNinja::DisassemblyTextLine& line);
+ static QString getDisassemblyText(const std::vector<BinaryNinja::DisassemblyTextLine>& lines);
public Q_SLOTS:
virtual void assemble();