forked from cerc-io/plugeth
115 lines
2.2 KiB
QML
115 lines
2.2 KiB
QML
import QtQuick 2.0
|
|
import QtQuick.Controls 1.0;
|
|
import QtQuick.Layouts 1.0;
|
|
import QtQuick.Dialogs 1.0;
|
|
import QtQuick.Window 2.1;
|
|
import QtQuick.Controls.Styles 1.1
|
|
import Ethereum 1.0
|
|
|
|
ApplicationWindow {
|
|
id: debugWindow
|
|
visible: false
|
|
title: "Debugger"
|
|
minimumWidth: 600
|
|
minimumHeight: 600
|
|
width: 800
|
|
height: 600
|
|
|
|
SplitView {
|
|
anchors.fill: parent
|
|
property var asmModel: ListModel {
|
|
id: asmModel
|
|
}
|
|
TableView {
|
|
id: asmTableView
|
|
width: 200
|
|
TableViewColumn{ role: "value" ; title: "" ; width: 100 }
|
|
model: asmModel
|
|
}
|
|
|
|
Rectangle {
|
|
anchors.left: asmTableView.right
|
|
anchors.right: parent.right
|
|
SplitView {
|
|
orientation: Qt.Vertical
|
|
anchors.fill: parent
|
|
|
|
TableView {
|
|
property var memModel: ListModel {
|
|
id: memModel
|
|
}
|
|
height: parent.height/2
|
|
width: parent.width
|
|
TableViewColumn{ id:mnumColmn ; role: "num" ; title: "#" ; width: 50}
|
|
TableViewColumn{ role: "value" ; title: "Memory" ; width: 750}
|
|
model: memModel
|
|
}
|
|
|
|
SplitView {
|
|
orientation: Qt.Horizontal
|
|
TableView {
|
|
property var debuggerLog: ListModel {
|
|
id: debuggerLog
|
|
}
|
|
TableViewColumn{ role: "value"; title: "Debug messages" }
|
|
model: debuggerLog
|
|
}
|
|
TableView {
|
|
property var stackModel: ListModel {
|
|
id: stackModel
|
|
}
|
|
height: parent.height/2
|
|
width: parent.width
|
|
TableViewColumn{ role: "value" ; title: "Stack" ; width: 200 }
|
|
model: stackModel
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
statusBar: StatusBar {
|
|
RowLayout {
|
|
anchors.fill: parent
|
|
Button {
|
|
property var enabled: true
|
|
id: debugNextButton
|
|
onClicked: {
|
|
//db.next()
|
|
}
|
|
text: "Next"
|
|
}
|
|
}
|
|
}
|
|
|
|
function setAsm(asm) {
|
|
asmModel.append({asm: asm})
|
|
}
|
|
|
|
function setInstruction(num) {
|
|
asmTableView.selection.clear()
|
|
asmTableView.selection.select(num-1)
|
|
}
|
|
|
|
function clearAsm() {
|
|
asmModel.clear()
|
|
}
|
|
|
|
function setMem(mem) {
|
|
memModel.append({num: mem.num, value: mem.value})
|
|
}
|
|
function clearMem(){
|
|
memModel.clear()
|
|
}
|
|
|
|
function setStack(stack) {
|
|
stackModel.append({value: stack})
|
|
}
|
|
function addDebugMessage(message){
|
|
debuggerLog.append({value: message})
|
|
}
|
|
|
|
function clearStack() {
|
|
stackModel.clear()
|
|
}
|
|
}
|