13 changed files with 138 additions and 366 deletions
@ -1,30 +0,0 @@
@@ -1,30 +0,0 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
|
||||
* |
||||
* QGroundControl is licensed according to the terms in the file |
||||
* COPYING.md in the root of the source code directory. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
#include "VerticalFactValueGrid.h" |
||||
#include "InstrumentValueData.h" |
||||
#include "QGCApplication.h" |
||||
#include "QGCCorePlugin.h" |
||||
|
||||
#include <QSettings> |
||||
|
||||
const QString VerticalFactValueGrid::_valuePageUserSettingsGroup ("ValuePageUserSettings2"); |
||||
const QString VerticalFactValueGrid::valuePageDefaultSettingsGroup("ValuePageDefaultSettings2"); |
||||
|
||||
VerticalFactValueGrid::VerticalFactValueGrid(QQuickItem* parent) |
||||
: FactValueGrid(parent) |
||||
{ |
||||
_orientation = VerticalOrientation; |
||||
} |
||||
|
||||
VerticalFactValueGrid::VerticalFactValueGrid(const QString& defaultSettingsGroup) |
||||
: FactValueGrid(defaultSettingsGroup) |
||||
{ |
||||
_orientation = VerticalOrientation; |
||||
} |
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
|
||||
* |
||||
* QGroundControl is licensed according to the terms in the file |
||||
* COPYING.md in the root of the source code directory. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
#pragma once |
||||
|
||||
#include "FactSystem.h" |
||||
#include "QmlObjectListModel.h" |
||||
#include "QGCApplication.h" |
||||
#include "FactValueGrid.h" |
||||
|
||||
class InstrumentValueData; |
||||
|
||||
class VerticalFactValueGrid : public FactValueGrid |
||||
{ |
||||
Q_OBJECT |
||||
|
||||
public: |
||||
VerticalFactValueGrid(QQuickItem *parent = nullptr); |
||||
VerticalFactValueGrid(const QString& defaultSettingsGroup); |
||||
|
||||
Q_PROPERTY(QString valuePageDefaultSettingsGroup MEMBER valuePageDefaultSettingsGroup CONSTANT) |
||||
Q_PROPERTY(QString valuePageUserSettingsGroup MEMBER _valuePageUserSettingsGroup CONSTANT) |
||||
|
||||
static const QString valuePageDefaultSettingsGroup; |
||||
|
||||
private: |
||||
Q_DISABLE_COPY(VerticalFactValueGrid) |
||||
|
||||
static const QString _valuePageUserSettingsGroup; |
||||
}; |
||||
|
||||
QML_DECLARE_TYPE(VerticalFactValueGrid) |
@ -1,174 +0,0 @@
@@ -1,174 +0,0 @@
|
||||
/**************************************************************************** |
||||
* |
||||
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
||||
* |
||||
* QGroundControl is licensed according to the terms in the file |
||||
* COPYING.md in the root of the source code directory. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
import QtQuick 2.12 |
||||
import QtQuick.Layouts 1.2 |
||||
import QtQuick.Controls 2.5 |
||||
import QtQml 2.12 |
||||
|
||||
import QGroundControl.Templates 1.0 as T |
||||
import QGroundControl.Controls 1.0 |
||||
import QGroundControl.ScreenTools 1.0 |
||||
import QGroundControl.Controllers 1.0 |
||||
import QGroundControl.Palette 1.0 |
||||
import QGroundControl.FlightMap 1.0 |
||||
import QGroundControl 1.0 |
||||
|
||||
// Note: This control will spit out qWarnings like this: "QGridLayoutEngine::addItem: Cell (0, 1) already taken" |
||||
// This is due to Qt bug https://bugreports.qt.io/browse/QTBUG-65121 |
||||
// If this becomes a problem I'll implement our own grid layout control |
||||
|
||||
T.VerticalFactValueGrid { |
||||
id: _root |
||||
height: childrenRect.height |
||||
|
||||
property bool settingsUnlocked: false |
||||
|
||||
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } |
||||
|
||||
QGCFlickable { |
||||
width: parent.width |
||||
height: topLevelRowLayout.height |
||||
flickableDirection: QGCFlickable.HorizontalFlick |
||||
contentWidth: topLevelRowLayout.width |
||||
|
||||
RowLayout { |
||||
id: topLevelRowLayout |
||||
spacing: 0 |
||||
|
||||
ColumnLayout { |
||||
spacing: 0 |
||||
|
||||
GridLayout { |
||||
id: valueGrid |
||||
Layout.minimumWidth: _root.width - (columnButtons.visible? columnButtons.width + columnSpacing : 0) |
||||
rows: _root.rows.count * 2 |
||||
rowSpacing: 0 |
||||
columnSpacing: 5 |
||||
|
||||
Repeater { |
||||
model: _root.rows |
||||
|
||||
Repeater { |
||||
id: labelRepeater |
||||
model: object |
||||
|
||||
property real _index: index |
||||
|
||||
InstrumentValueLabel { |
||||
Layout.row: labelRepeater._index * 2 |
||||
Layout.column: index |
||||
Layout.fillWidth: true |
||||
Layout.alignment: Qt.AlignHCenter |
||||
instrumentValueData: object |
||||
} |
||||
} |
||||
} |
||||
|
||||
Repeater { |
||||
model: _root.rows |
||||
|
||||
Repeater { |
||||
id: valueRepeater |
||||
model: object |
||||
|
||||
property real _index: index |
||||
|
||||
InstrumentValueValue { |
||||
Layout.row: valueRepeater._index * 2 + 1 |
||||
Layout.column: index |
||||
Layout.fillWidth: true |
||||
Layout.alignment: Qt.AlignHCenter |
||||
instrumentValueData: object |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
RowLayout { |
||||
id: rowButtons |
||||
height: ScreenTools.minTouchPixels / 2 |
||||
Layout.fillWidth: true |
||||
spacing: 1 |
||||
visible: settingsUnlocked |
||||
|
||||
QGCButton { |
||||
Layout.fillWidth: true |
||||
Layout.preferredHeight: parent.height |
||||
text: qsTr("+") |
||||
onClicked: appendRow() |
||||
} |
||||
|
||||
QGCButton { |
||||
Layout.fillWidth: true |
||||
Layout.preferredHeight: parent.height |
||||
text: qsTr("-") |
||||
enabled: _root.rows.count > 1 |
||||
onClicked: deleteLastRow() |
||||
} |
||||
} |
||||
} |
||||
|
||||
ColumnLayout { |
||||
id: columnButtons |
||||
Layout.fillHeight: true |
||||
Layout.bottomMargin: rowButtons.height |
||||
width: ScreenTools.minTouchPixels / 2 |
||||
spacing: 1 |
||||
visible: settingsUnlocked |
||||
|
||||
QGCButton { |
||||
Layout.fillHeight: true |
||||
Layout.preferredHeight: ScreenTools.minTouchPixels |
||||
Layout.preferredWidth: parent.width |
||||
text: qsTr("+") |
||||
onClicked: appendColumn() |
||||
} |
||||
|
||||
QGCButton { |
||||
Layout.fillHeight: true |
||||
Layout.preferredHeight: ScreenTools.minTouchPixels |
||||
Layout.preferredWidth: parent.width |
||||
text: qsTr("-") |
||||
enabled: _root.columnCount > 1 |
||||
onClicked: deleteLastColumn() |
||||
} |
||||
} |
||||
} |
||||
|
||||
QGCMouseArea { |
||||
x: valueGrid.x |
||||
y: valueGrid.y |
||||
width: valueGrid.width |
||||
height: valueGrid.height |
||||
visible: settingsUnlocked |
||||
onClicked: { |
||||
var item = valueGrid.childAt(mouse.x, mouse.y) |
||||
//console.log(item, item ? item.instrumentValueData : "null", item && item.parent ? item.parent.instrumentValueData : "null") |
||||
if (item && item.instrumentValueData !== undefined) { |
||||
mainWindow.showPopupDialogFromComponent(valueEditDialog, { instrumentValueData: item.instrumentValueData }) |
||||
} |
||||
} |
||||
|
||||
/*Rectangle { |
||||
anchors.fill: parent |
||||
border.color: "green" |
||||
border.width: 1 |
||||
color: "transparent" |
||||
}*/ |
||||
} |
||||
} |
||||
|
||||
Component { |
||||
id: valueEditDialog |
||||
|
||||
InstrumentValueEditDialog { } |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue