First implementation

This commit is contained in:
Yury Shuvakin
2025-07-02 18:00:35 +09:00
commit 6cf2010c08
107 changed files with 10803 additions and 0 deletions

93
Qml/Main.qml Normal file
View File

@@ -0,0 +1,93 @@
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import "."
import Core 1.0
import Controls 1.0 as CustomControls
import Palette 1.0
ApplicationWindow {
width: 1280
height: 1024
visible: true
title: qsTr("Stand Battery View")
color: Palette.backgroundColor
font.pixelSize: 14
GridLayout {
anchors.fill: parent
anchors.margins: 10
columns: 4
columnSpacing: 10
rowSpacing: 10
Frame {
Layout.fillWidth: true
Layout.columnSpan: 4
Layout.preferredHeight: statusBarLayout.implicitHeight + 20
leftPadding: 20
rightPadding: 20
topPadding: 10
bottomPadding: 10
background: Rectangle {
color: Palette.controlBackgroundColor
radius: 14
}
RowLayout {
id: statusBarLayout
spacing: 10
width: parent.width
CustomControls.ColoredLabel {
text: CanController.isConnected ? "Штатный режим" : "Отсутствует связь с БМФ2"
backgroundColor: CanController.isConnected ? Palette.goodColor : Palette.invalidColor
}
Item {
Layout.fillWidth: true
}
CustomControls.Label {
id: dateLabel
}
CustomControls.ColoredLabel {
id: timeLabel
backgroundColor: "#EAEAEA"
backgroundRadius: 8
}
Timer {
interval: 1000
repeat: true
running: true
triggeredOnStart: true
onTriggered: {
let date = new Date()
dateLabel.text = Qt.formatDate(date, "dd.MM.yyyy")
timeLabel.text = Qt.formatTime(date, "hh:mm:ss")
}
}
}
}
Repeater {
model: CanController.batteries
delegate: Battery {
battery: modelData
batteryIndex: index
Layout.fillWidth: true
Layout.fillHeight: true
}
}
}
}