|
|
|
import QtQuick 2.2
|
|
|
|
import QtQuick.Controls 1.1
|
|
|
|
import QtQuick.Controls.Styles 1.1
|
|
|
|
import QtQuick.Dialogs 1.1
|
|
|
|
import QtQuick.Layouts 1.1
|
|
|
|
import Qt.labs.settings 1.0
|
|
|
|
import "js/Debugger.js" as Debugger
|
|
|
|
import "js/ErrorLocationFormater.js" as ErrorLocationFormater
|
|
|
|
import "."
|
|
|
|
|
|
|
|
|
|
|
|
Rectangle {
|
|
|
|
color: "#ededed"
|
|
|
|
property alias bc: blockChain
|
|
|
|
|
|
|
|
Connections
|
|
|
|
{
|
|
|
|
target: projectModel
|
|
|
|
onProjectLoaded: {
|
|
|
|
loader.init()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ScrollView
|
|
|
|
{
|
|
|
|
anchors.fill: parent
|
|
|
|
onWidthChanged: {
|
|
|
|
columnExe.width = width - 40
|
|
|
|
}
|
|
|
|
|
|
|
|
ColumnLayout
|
|
|
|
{
|
|
|
|
id: columnExe
|
|
|
|
Layout.preferredWidth: parent.width
|
|
|
|
width: parent.width - 40
|
|
|
|
anchors.left: parent.left
|
|
|
|
anchors.leftMargin: 15
|
|
|
|
ColumnLayout
|
|
|
|
{
|
|
|
|
id: scenarioColumn
|
|
|
|
width: parent.width
|
|
|
|
spacing: 10
|
|
|
|
ScenarioLoader
|
|
|
|
{
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
|
|
height: 100
|
|
|
|
Layout.preferredWidth: 400
|
|
|
|
width: 400
|
|
|
|
id: loader
|
|
|
|
}
|
|
|
|
|
|
|
|
Connections
|
|
|
|
{
|
|
|
|
target: blockChain
|
|
|
|
onChainChanged:
|
|
|
|
{
|
|
|
|
loader.needSaveOrReload()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Rectangle
|
|
|
|
{
|
|
|
|
Layout.preferredWidth: parent.width
|
|
|
|
height: 1
|
|
|
|
color: "#cccccc"
|
|
|
|
}
|
|
|
|
|
|
|
|
Connections
|
|
|
|
{
|
|
|
|
target: loader
|
|
|
|
onLoaded:
|
|
|
|
{
|
|
|
|
watchers.clear()
|
|
|
|
blockChain.load(scenario)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
BlockChain
|
|
|
|
{
|
|
|
|
id: blockChain
|
|
|
|
width: parent.width
|
|
|
|
}
|
|
|
|
|
|
|
|
Connections
|
|
|
|
{
|
|
|
|
target: blockChain
|
|
|
|
property var currentSelectedBlock
|
|
|
|
property var currentSelectedTx
|
|
|
|
onTxSelected: {
|
|
|
|
currentSelectedBlock = blockIndex
|
|
|
|
currentSelectedTx = txIndex
|
|
|
|
updateWatchers(blockIndex, txIndex)
|
|
|
|
}
|
|
|
|
|
|
|
|
function updateWatchers(blockIndex, txIndex){
|
|
|
|
var tx = blockChain.model.blocks[blockIndex].transactions[txIndex]
|
|
|
|
var state = blockChain.getState(tx.recordIndex)
|
|
|
|
watchers.updateWidthTx(tx, state, blockIndex, txIndex)
|
|
|
|
}
|
|
|
|
|
|
|
|
onRebuilding: {
|
|
|
|
watchers.clear()
|
|
|
|
}
|
|
|
|
|
|
|
|
onAccountAdded: {
|
|
|
|
watchers.addAccount(address, "0 wei")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Watchers
|
|
|
|
{
|
|
|
|
id: watchers
|
|
|
|
bc: blockChain
|
|
|
|
Layout.fillWidth: true
|
|
|
|
Layout.preferredHeight: 740
|
|
|
|
}
|
|
|
|
|
|
|
|
Rectangle
|
|
|
|
{
|
|
|
|
color: "transparent"
|
|
|
|
Layout.preferredHeight: 50
|
|
|
|
Layout.fillWidth: true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|