13 changed files with 473 additions and 256 deletions
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,88 @@
@@ -0,0 +1,88 @@
|
||||
import QtQuick 2.2 |
||||
import QtQuick.Controls 1.2 |
||||
import QtQuick.Controls.Styles 1.2 |
||||
import QtGraphicalEffects 1.0 |
||||
import QGroundControl.FactSystem 1.0 |
||||
|
||||
Button { |
||||
checkable: true |
||||
height: 80 |
||||
|
||||
text: "Button" |
||||
property bool setupComplete: true |
||||
property bool setupIndicator: true |
||||
|
||||
style: ButtonStyle { |
||||
id: buttonStyle |
||||
|
||||
property var __qgcpal: QGCPalette { |
||||
colorGroup: control.enabled ? QGCPalette.Active : QGCPalette.Disabled |
||||
} |
||||
|
||||
background: Rectangle { |
||||
id: innerRect |
||||
readonly property real titleHeight: 30 |
||||
|
||||
border.color: control.checked ? "#eee333" : "#676767" |
||||
radius: 10 |
||||
|
||||
color: control.checked ? "#eee333" : "#343434" |
||||
|
||||
Text { |
||||
id: titleBar |
||||
|
||||
width: parent.width |
||||
height: parent.titleHeight |
||||
|
||||
verticalAlignment: TextEdit.AlignVCenter |
||||
horizontalAlignment: TextEdit.AlignHCenter |
||||
|
||||
text: control.text |
||||
font.pixelSize: 12 |
||||
color: control.checked ? "black" : "white" |
||||
|
||||
Rectangle { |
||||
id: setupIndicator |
||||
|
||||
readonly property real indicatorRadius: 6 |
||||
|
||||
x: parent.width - (indicatorRadius * 2) - 5 |
||||
y: (parent.height - (indicatorRadius * 2)) / 2 |
||||
width: indicatorRadius * 2 |
||||
height: indicatorRadius * 2 |
||||
|
||||
radius: indicatorRadius |
||||
color: control.setupIndicator ? (control.setupComplete ? "green" : "red") : innerRect.color |
||||
} |
||||
} |
||||
|
||||
Rectangle { |
||||
width: parent.width |
||||
height: parent.height - parent.titleHeight |
||||
|
||||
y: parent.titleHeight |
||||
|
||||
color: __qgcpal.window |
||||
border.color: control.checked ? "#eee333" : "#676767" |
||||
|
||||
Image { |
||||
id: buttonImage |
||||
source: "setupButtonImage.png" |
||||
sourceSize: Qt.size(parent.width - 20, parent.height - 20) |
||||
anchors.horizontalCenter: parent.horizontalCenter |
||||
anchors.verticalCenter: parent.verticalCenter |
||||
smooth: true |
||||
visible: false |
||||
} |
||||
|
||||
ColorOverlay { |
||||
anchors.fill: buttonImage |
||||
source: buttonImage |
||||
color: control.checked ? "#eee333" : "#58585a" |
||||
} |
||||
} |
||||
} |
||||
|
||||
label: Item {} |
||||
} |
||||
} |
@ -0,0 +1,2 @@
@@ -0,0 +1,2 @@
|
||||
Module QGroundControl.Controls |
||||
SetupButton 1.0 SetupButton.qml |
@ -0,0 +1,90 @@
@@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>SetupView</class> |
||||
<widget class="QWidget" name="SetupView"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>946</width> |
||||
<height>821</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<layout class="QHBoxLayout" name="horizontalLayout"> |
||||
<item> |
||||
<widget class="QGCQuickWidget" name="buttonHolder"> |
||||
<property name="sizePolicy"> |
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred"> |
||||
<horstretch>0</horstretch> |
||||
<verstretch>0</verstretch> |
||||
</sizepolicy> |
||||
</property> |
||||
<property name="minimumSize"> |
||||
<size> |
||||
<width>160</width> |
||||
<height>0</height> |
||||
</size> |
||||
</property> |
||||
<property name="maximumSize"> |
||||
<size> |
||||
<width>160</width> |
||||
<height>16777215</height> |
||||
</size> |
||||
</property> |
||||
<property name="resizeMode"> |
||||
<enum>QGCQuickWidget::SizeRootObjectToView</enum> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item> |
||||
<widget class="QWidget" name="setupWidget"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>400</width> |
||||
<height>300</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<property name="autoFillBackground"> |
||||
<bool>true</bool> |
||||
</property> |
||||
<layout class="QVBoxLayout" name="verticalLayout_2"> |
||||
<item> |
||||
<layout class="QVBoxLayout" name="setupWidgetLayout"/> |
||||
</item> |
||||
<item> |
||||
<spacer name="verticalSpacer"> |
||||
<property name="orientation"> |
||||
<enum>Qt::Vertical</enum> |
||||
</property> |
||||
<property name="sizeHint" stdset="0"> |
||||
<size> |
||||
<width>20</width> |
||||
<height>40</height> |
||||
</size> |
||||
</property> |
||||
</spacer> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<customwidgets> |
||||
<customwidget> |
||||
<class>QGCQuickWidget</class> |
||||
<extends>QQuickWidget</extends> |
||||
<header>QGCQuickWidget.h</header> |
||||
<container>1</container> |
||||
</customwidget> |
||||
</customwidgets> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
@ -0,0 +1,88 @@
@@ -0,0 +1,88 @@
|
||||
import QtQuick 2.2 |
||||
import QtQuick.Controls 1.2 |
||||
import QtQuick.Controls.Styles 1.2 |
||||
import QGroundControl.FactSystem 1.0 |
||||
import QGroundControl.Controls 1.0 |
||||
|
||||
Rectangle { |
||||
id: topLevel |
||||
|
||||
QGCPalette { id: palette; colorGroup: QGCPalette.Active } |
||||
color: palette.window |
||||
|
||||
signal firmwareButtonClicked; |
||||
signal summaryButtonClicked; |
||||
signal parametersButtonClicked; |
||||
signal setupButtonClicked(variant component); |
||||
|
||||
ExclusiveGroup { id: setupButtonGroup } |
||||
|
||||
Component { |
||||
id: disconnectedButtons |
||||
|
||||
Column { |
||||
spacing: 10 |
||||
|
||||
SetupButton { |
||||
id: firmwareButton; objectName: "firmwareButton" |
||||
width: parent.width |
||||
text: "FIRMWARE" |
||||
setupIndicator: false |
||||
exclusiveGroup: setupButtonGroup |
||||
onClicked: topLevel.firmwareButtonClicked() |
||||
} |
||||
} |
||||
} |
||||
|
||||
Component { |
||||
id: connectedButtons |
||||
|
||||
Column { |
||||
spacing: 10 |
||||
|
||||
SetupButton { |
||||
id: summaryButton; objectName: "summaryButton" |
||||
width: parent.width |
||||
text: "VEHICLE SUMMARY" |
||||
setupIndicator: false |
||||
exclusiveGroup: setupButtonGroup |
||||
onClicked: topLevel.summaryButtonClicked() |
||||
} |
||||
|
||||
SetupButton { |
||||
id: firmwareButton; objectName: "firmwareButton" |
||||
width: parent.width |
||||
text: "FIRMWARE" |
||||
setupIndicator: false |
||||
exclusiveGroup: setupButtonGroup |
||||
onClicked: topLevel.firmwareButtonClicked() |
||||
} |
||||
|
||||
Repeater { |
||||
model: autopilot.components |
||||
|
||||
SetupButton { |
||||
width: parent.width |
||||
text: modelData.name.toUpperCase() |
||||
setupComplete: modelData.setupComplete |
||||
exclusiveGroup: setupButtonGroup |
||||
onClicked: topLevel.setupButtonClicked(modelData) |
||||
} |
||||
} |
||||
|
||||
SetupButton { |
||||
width: parent.width |
||||
text: "PARAMETERS" |
||||
setupIndicator: false |
||||
exclusiveGroup: setupButtonGroup |
||||
onClicked: topLevel.parametersButtonClicked() |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
||||
Loader { |
||||
anchors.fill: parent |
||||
sourceComponent: autopilot ? connectedButtons : disconnectedButtons |
||||
} |
||||
} |
@ -1,40 +0,0 @@
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>SetupWidgetHolder</class> |
||||
<widget class="QDialog" name="SetupWidgetHolder"> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>400</width> |
||||
<height>300</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Form</string> |
||||
</property> |
||||
<property name="autoFillBackground"> |
||||
<bool>true</bool> |
||||
</property> |
||||
<layout class="QVBoxLayout" name="verticalLayout_2"> |
||||
<item> |
||||
<layout class="QVBoxLayout" name="setupWidgetLayout"/> |
||||
</item> |
||||
<item> |
||||
<spacer name="verticalSpacer"> |
||||
<property name="orientation"> |
||||
<enum>Qt::Vertical</enum> |
||||
</property> |
||||
<property name="sizeHint" stdset="0"> |
||||
<size> |
||||
<width>20</width> |
||||
<height>40</height> |
||||
</size> |
||||
</property> |
||||
</spacer> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
@ -1,10 +1,14 @@
@@ -1,10 +1,14 @@
|
||||
import QtQuick 2.2 |
||||
import QtQuick.Controls 1.2 |
||||
import QtQuick.Controls.Styles 1.2 |
||||
//import QGroundControl.FactControls 1.0 |
||||
import QGroundControl.FactControls 1.0 |
||||
|
||||
Row { |
||||
width: 200 |
||||
Text { id: firstCol; text: "Col 1" } |
||||
Text { horizontalAlignment: Text.AlignRight; width: parent.width - firstCol.contentWidth; text: "Col 2" } |
||||
|
||||
Rectangle { |
||||
QGCPalette { id: palette; colorGroup: enabled ? QGCPalette.Active : QGCPalette.Disabled } |
||||
|
||||
width: 100 |
||||
height: 100 |
||||
color: "#e43f3f" |
||||
// palette.windowText |
||||
} |
||||
|
Loading…
Reference in new issue