You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
2.5 KiB
133 lines
2.5 KiB
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 org.ethereum.qml.QEther 1.0
|
|
import "js/Debugger.js" as Debugger
|
|
import "js/ErrorLocationFormater.js" as ErrorLocationFormater
|
|
import "js/TransactionHelper.js" as TransactionHelper
|
|
import "js/QEtherHelper.js" as QEtherHelper
|
|
import "."
|
|
|
|
ColumnLayout {
|
|
id: root
|
|
property alias title: titleLabel.text
|
|
property variant _data
|
|
property string role
|
|
property alias model: modelKeyValue
|
|
|
|
function add(key, value)
|
|
{
|
|
modelKeyValue.append({ "key": key, "value": value })
|
|
}
|
|
|
|
function clear()
|
|
{
|
|
modelKeyValue.clear()
|
|
}
|
|
|
|
function init()
|
|
{
|
|
modelKeyValue.clear()
|
|
if (typeof(computeData) !== "undefined" && computeData instanceof Function)
|
|
computeData()
|
|
else
|
|
{
|
|
if (_data !== undefined && _data[role] !== undefined)
|
|
{
|
|
var keys = Object.keys(_data[role])
|
|
for (var k in keys)
|
|
{
|
|
modelKeyValue.append({ "key": keys[k] === "" ? "undefined" : keys[k], "value": _data[role][keys[k]] })
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
RowLayout
|
|
{
|
|
Layout.preferredHeight: 20
|
|
Layout.fillWidth: true
|
|
Label
|
|
{
|
|
id: titleLabel
|
|
anchors.left: parent.left
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
color: "white"
|
|
}
|
|
}
|
|
|
|
RowLayout
|
|
{
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 100
|
|
ListModel
|
|
{
|
|
id: modelKeyValue
|
|
}
|
|
|
|
Rectangle
|
|
{
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
color: "white"
|
|
radius: 2
|
|
ScrollView
|
|
{
|
|
id: columnValues
|
|
horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff
|
|
anchors.fill: parent
|
|
clip: true
|
|
ColumnLayout
|
|
{
|
|
spacing: 0
|
|
id: colValue
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 5
|
|
Repeater
|
|
{
|
|
id: repeaterKeyValue
|
|
model: modelKeyValue
|
|
Row
|
|
{
|
|
Layout.preferredHeight: 30
|
|
spacing: 5
|
|
anchors.left: colValue.left
|
|
anchors.leftMargin: 5
|
|
Label
|
|
{
|
|
maximumLineCount: 1
|
|
text: {
|
|
if (index >= 0 && repeaterKeyValue.model.get(index).key !== undefined)
|
|
return repeaterKeyValue.model.get(index).key
|
|
else
|
|
return ""
|
|
}
|
|
}
|
|
|
|
Label
|
|
{
|
|
text: "="
|
|
}
|
|
|
|
Label
|
|
{
|
|
maximumLineCount: 1
|
|
text: {
|
|
if (index >= 0 && repeaterKeyValue.model.get(index).value !== undefined)
|
|
return repeaterKeyValue.model.get(index).value
|
|
else
|
|
return ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|