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.
100 lines
1.9 KiB
100 lines
1.9 KiB
import QtQuick 2.2
|
|
import QtQuick.Controls 1.1
|
|
import QtQuick.Controls.Styles 1.1
|
|
import QtQuick.Dialogs 1.2
|
|
import QtQuick.Layouts 1.1
|
|
import QtQuick.Window 2.0
|
|
import "."
|
|
|
|
Dialog {
|
|
id: stateListContainer
|
|
modality: Qt.WindowModal
|
|
width: 640
|
|
height: 480
|
|
visible: false
|
|
contentItem: Rectangle {
|
|
anchors.fill: parent
|
|
ColumnLayout
|
|
{
|
|
anchors.fill: parent
|
|
TableView {
|
|
id: list
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
model: projectModel.stateListModel
|
|
itemDelegate: renderDelegate
|
|
headerDelegate: null
|
|
frameVisible: false
|
|
TableViewColumn {
|
|
role: "title"
|
|
title: qsTr("State")
|
|
width: list.width
|
|
}
|
|
}
|
|
|
|
Row{
|
|
spacing: 5
|
|
anchors.bottom: parent.bottom
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: 10
|
|
Button {
|
|
action: addStateAction
|
|
}
|
|
|
|
Button {
|
|
action: closeAction
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Component {
|
|
id: renderDelegate
|
|
Item {
|
|
RowLayout {
|
|
anchors.fill: parent
|
|
Text {
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
text: styleData.value
|
|
font.pointSize: StateStyle.general.basicFontSize
|
|
verticalAlignment: Text.AlignBottom
|
|
}
|
|
ToolButton {
|
|
text: qsTr("Edit");
|
|
Layout.fillHeight: true
|
|
onClicked: list.model.editState(styleData.row);
|
|
}
|
|
ToolButton {
|
|
visible: list.model.defaultStateIndex !== styleData.row
|
|
text: qsTr("Delete");
|
|
Layout.fillHeight: true
|
|
onClicked: list.model.deleteState(styleData.row);
|
|
}
|
|
ToolButton {
|
|
text: qsTr("Run");
|
|
Layout.fillHeight: true
|
|
onClicked: list.model.runState(styleData.row);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Row
|
|
{
|
|
Action {
|
|
id: addStateAction
|
|
text: qsTr("Add State")
|
|
shortcut: "Ctrl+T"
|
|
enabled: codeModel.hasContract && !clientModel.running;
|
|
onTriggered: list.model.addState();
|
|
}
|
|
|
|
Action {
|
|
id: closeAction
|
|
text: qsTr("Close")
|
|
onTriggered: stateListContainer.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
|