Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
4d3dd793
Commit
4d3dd793
authored
May 10, 2015
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ViewWithDialog -> QGCView
- More more on making QGCView real - Converted Parameter Editor to QGCView
parent
ccc5f622
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
401 additions
and
339 deletions
+401
-339
qgroundcontrol.qrc
qgroundcontrol.qrc
+4
-1
AirframeComponent.qml
src/AutoPilotPlugins/PX4/AirframeComponent.qml
+10
-5
ParameterEditor.qml
src/QmlControls/ParameterEditor.qml
+267
-315
QGCView.qml
src/QmlControls/QGCView.qml
+29
-17
QGCViewDialog.qml
src/QmlControls/QGCViewDialog.qml
+47
-0
QGCViewPanel.qml
src/QmlControls/QGCViewPanel.qml
+40
-0
qmldir
src/QmlControls/qmldir
+4
-1
No files found.
qgroundcontrol.qrc
View file @
4d3dd793
...
@@ -32,7 +32,10 @@
...
@@ -32,7 +32,10 @@
<file alias="QGroundControl/Controls/VehicleSummaryRow.qml">src/QmlControls/VehicleSummaryRow.qml</file>
<file alias="QGroundControl/Controls/VehicleSummaryRow.qml">src/QmlControls/VehicleSummaryRow.qml</file>
<file alias="QGroundControl/Controls/arrow-down.png">src/QmlControls/arrow-down.png</file>
<file alias="QGroundControl/Controls/arrow-down.png">src/QmlControls/arrow-down.png</file>
<file alias="QGroundControl/Controls/ViewWidget.qml">src/ViewWidgets/ViewWidget.qml</file>
<file alias="QGroundControl/Controls/ViewWidget.qml">src/ViewWidgets/ViewWidget.qml</file>
<file alias="QGroundControl/Controls/ViewWithDialog.qml">src/QmlControls/ViewWithDialog.qml</file>
<file alias="QGroundControl/Controls/QGCView.qml">src/QmlControls/QGCView.qml</file>
<file alias="QGroundControl/Controls/QGCViewPanel.qml">src/QmlControls/QGCViewPanel.qml</file>
<file alias="QGroundControl/Controls/QGCViewDialog.qml">src/QmlControls/QGCViewDialog.qml</file>
<file alias="QGroundControl/Controls/ParameterEditor.qml">src/QmlControls/ParameterEditor.qml</file>
<file alias="QGroundControl/Controls/ParameterEditor.qml">src/QmlControls/ParameterEditor.qml</file>
...
...
src/AutoPilotPlugins/PX4/AirframeComponent.qml
View file @
4d3dd793
...
@@ -32,8 +32,9 @@ import QGroundControl.Palette 1.0
...
@@ -32,8 +32,9 @@ import QGroundControl.Palette 1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Controllers
1.0
import
QGroundControl
.
Controllers
1.0
ViewWithDialog
{
QGCView
{
viewComponent
:
view
id
:
rootQGCView
viewComponent
:
view
Component
{
Component
{
id
:
view
id
:
view
...
@@ -45,9 +46,13 @@ ViewWithDialog {
...
@@ -45,9 +46,13 @@ ViewWithDialog {
signal
showDialog
(
Component
component
,
string
title
,
int
charWidth
,
int
buttons
)
signal
showDialog
(
Component
component
,
string
title
,
int
charWidth
,
int
buttons
)
signal
hideDialog
signal
hideDialog
function
doWorkAfterComponentCompleted
()
{
Connections
{
if
(
controller
.
showCustomConfigPanel
)
{
target
:
rootQGCView
panel
.
showDialog
(
customConfigDialog
,
"
Custom Airframe Config
"
,
50
,
StandardButton
.
Reset
)
onCompleted
:
{
if
(
controller
.
showCustomConfigPanel
)
{
panel
.
showDialog
(
customConfigDialog
,
"
Custom Airframe Config
"
,
50
,
StandardButton
.
Reset
)
}
}
}
}
}
...
...
src/QmlControls/ParameterEditor.qml
View file @
4d3dd793
...
@@ -36,384 +36,336 @@ import QGroundControl.Controllers 1.0
...
@@ -36,384 +36,336 @@ import QGroundControl.Controllers 1.0
import
QGroundControl
.
FactSystem
1.0
import
QGroundControl
.
FactSystem
1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
FactControls
1.0
Rectangle
{
QGCView
{
/// true: show full information, false: for use in smaller widgets
viewComponent
:
parameterList
property
bool
fullMode
:
true
QGCPalette
{
id
:
__qgcPal
;
colorGroupEnabled
:
true
}
ParameterEditorController
{
id
:
__controller
}
QGCLabel
{
id
:
__textControl
;
text
:
"
X
"
;
visible
:
false
}
readonly
property
real
__leftMargin
:
10
readonly
property
real
__rightMargin
:
20
readonly
property
int
__maxParamChars
:
16
color
:
__qgcPal
.
window
// We use an ExclusiveGroup to maintain the visibility of a single editing control at a time
ExclusiveGroup
{
id
:
__exclusiveEditorGroup
}
property
Fact
__editorOverlayFact
:
Fact
{
}
property
real
__textHeight
:
__textControl
.
contentHeight
property
real
__textWidth
:
__textControl
.
contentWidth
Item
{
id
:
__editorOverlay
anchors.fill
:
parent
visible
:
false
z
:
100
Rectangle
{
width
:
__textWidth
*
75
height
:
parent
.
height
anchors.left
:
parent
.
left
anchors.right
:
editorDialog
.
left
opacity
:
0.80
color
:
__qgcPal
.
window
}
Rectangle
{
/// true: show full information, false: for use in smaller widgets
id
:
editorDialog
property
bool
fullMode
:
true
width
:
fullMode
?
__textWidth
*
50
:
parent
.
width
height
:
parent
.
height
anchors.right
:
parent
.
right
color
:
__qgcPal
.
windowShadeDark
Column
{
QGCPalette
{
id
:
__qgcPal
;
colorGroupEnabled
:
true
}
spacing
:
__textHeight
ParameterEditorController
{
id
:
__controller
}
anchors.fill
:
parent
QGCLabel
{
id
:
__textMeasure
;
text
:
"
X
"
;
visible
:
false
}
property
Fact
__editorDialogFact
:
Fact
{
}
Rectangle
{
width
:
parent
.
width
height
:
saveButton
.
height
color
:
__qgcPal
.
windowShade
QGCLabel
{
readonly
property
real
__leftMargin
:
10
x
:
__textWidth
readonly
property
real
__rightMargin
:
20
height
:
parent
.
height
readonly
property
int
__maxParamChars
:
16
verticalAlignment
:
Text
.
AlignVCenter
text
:
"
Edit Parameter
"
}
QGCButton
{
property
real
__textHeight
:
__textMeasure
.
contentHeight
anchors.right
:
saveButton
.
left
property
real
__textWidth
:
__textMeasure
.
contentWidth
anchors.bottom
:
parent
.
bottom
text
:
"
Cancel
"
onClicked
:
{
Component
{
__editorOverlay
.
visible
=
false
id
:
parameterList
}
}
QGCButton
{
QGCViewPanel
{
id
:
saveButton
id
:
panel
anchors.right
:
parent
.
right
primary
:
true
text
:
"
Save
"
onClicked
:
{
Component
{
__editorOverlayFact
.
value
=
valueField
.
text
id
:
factRowsComponent
__editorOverlay
.
visible
=
false
}
}
}
Column
{
Column
{
spacing
:
__textHeight
id
:
factColumn
anchors.leftMargin
:
__textWidth
*
2
x
:
__leftMargin
anchors.rightMargin
:
__textWidth
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
QGCLabel
{
QGCLabel
{
width
:
parent
.
width
height
:
__textHeight
+
(
ScreenTools
.
pixelSizeFactor
*
(
9
))
wrapMode
:
Text
.
WordWrap
text
:
group
text
:
__editorOverlayFact
.
shortDescription
?
__editorOverlayFact
.
shortDescription
:
"
Description missing
"
verticalAlignment
:
Text
.
AlignVCenter
font.pointSize
:
ScreenTools
.
fontPointFactor
*
(
16
);
}
}
QGCLabel
{
Rectangle
{
width
:
parent
.
width
width
:
parent
.
width
wrapMode
:
Text
.
WordWrap
height
:
1
visible
:
__editorOverlayFact
.
longDescription
color
:
__qgcPal
.
text
text
:
__editorOverlayFact
.
longDescription
}
}
QGCTextField
{
Repeater
{
id
:
valueField
model
:
__controller
.
getFactsForGroup
(
componentId
,
group
)
text
:
__editorOverlayFact
.
valueString
}
QGCLabel
{
text
:
__editorOverlayFact
.
name
}
Column
{
Item
{
x
:
__leftMargin
width
:
parent
.
width
height
:
__textHeight
+
(
ScreenTools
.
pixelSizeFactor
*
(
9
))
Row
{
Fact
{
spacing
:
__textWidth
id
:
modelFact
QGCLabel
{
text
:
"
Units:
"
}
Component.onCompleted
:
{
QGCLabel
{
text
:
__editorOverlayFact
.
units
?
__editorOverlayFact
.
units
:
"
none
"
}
name
=
modelData
+
"
:
"
+
componentId
}
}
}
QGCLabel
{
id
:
nameLabel
width
:
__textWidth
*
(
__maxParamChars
+
1
)
height
:
parent
.
height
verticalAlignment
:
Text
.
AlignVCenter
text
:
modelFact
.
name
}
QGCLabel
{
id
:
valueLabel
width
:
__textWidth
*
20
height
:
parent
.
height
anchors.left
:
nameLabel
.
right
verticalAlignment
:
Text
.
AlignVCenter
color
:
modelFact
.
valueEqualsDefault
?
__qgcPal
.
text
:
"
orange
"
text
:
modelFact
.
valueString
+
"
"
+
modelFact
.
units
}
QGCLabel
{
height
:
parent
.
height
anchors.left
:
valueLabel
.
right
verticalAlignment
:
Text
.
AlignVCenter
visible
:
fullMode
text
:
modelFact
.
shortDescription
}
MouseArea
{
anchors.fill
:
parent
acceptedButtons
:
Qt
.
LeftButton
onClicked
:
{
__editorDialogFact
=
modelFact
panel
.
showDialog
(
editorDialogComponent
,
"
Parameter Editor
"
,
fullMode
?
50
:
-
1
,
StandardButton
.
Cancel
|
StandardButton
.
Save
)
}
}
}
Row
{
Rectangle
{
spacing
:
__textWidth
x
:
__leftMargin
width
:
factColumn
.
width
-
__leftMargin
-
__rightMargin
height
:
1
color
:
__qgcPal
.
windowShade
}
}
// Column - Fact
}
// Repeater - Facts
}
// Column - Facts
}
// Component - factRowsComponent
QGCLabel
{
text
:
"
Minimum value:
"
}
Column
{
QGCLabel
{
text
:
__editorOverlayFact
.
min
}
anchors.fill
:
parent
}
Row
{
Item
{
spacing
:
__textWidth
width
:
parent
.
width
height
:
firstButton
.
height
QGCLabel
{
text
:
"
Maxmimum value:
"
}
QGCLabel
{
QGCLabel
{
text
:
__editorOverlayFact
.
max
}
font.pointSize
:
ScreenTools
.
fontPointFactor
*
(
20
)
visible
:
fullMode
text
:
"
PARAMETER EDITOR
"
}
}
Row
{
Row
{
spacing
:
__textWidth
spacing
:
10
layoutDirection
:
Qt
.
RightToLeft
QGCLabel
{
text
:
"
Default value:
"
}
width
:
parent
.
width
QGCLabel
{
text
:
__editorOverlayFact
.
defaultValueAvailable
?
__editorOverlayFact
.
defaultValue
:
"
none
"
}
}
QGCLabel
{
QGCButton
{
width
:
parent
.
width
text
:
"
Clear RC to Param
"
wrapMode
:
Text
.
WordWrap
onClicked
:
__controller
.
clearRCToParam
()
text
:
"
Warning: Modifying parameters while vehicle is in flight can lead to vehicle instability and possible vehicle loss.
"
+
}
"
Make sure you know what you are doing and double-check your values before Save!
"
QGCButton
{
text
:
"
Save to file
"
visible
:
fullMode
onClicked
:
__controller
.
saveToFile
()
}
QGCButton
{
text
:
"
Load from file
"
visible
:
fullMode
onClicked
:
__controller
.
loadFromFile
()
}
QGCButton
{
id
:
firstButton
text
:
"
Refresh
"
onClicked
:
__controller
.
refresh
()
}
}
}
}
// Column - Fact information
}
}
// Column - Header + Fact information
QGCButton
{
anchors.rightMargin
:
__textWidth
anchors.right
:
rcButton
.
left
anchors.bottom
:
parent
.
bottom
visible
:
__editorOverlayFact
.
defaultValueAvailable
text
:
"
Reset to default
"
onClicked
:
{
Item
{
__editorOverlayFact
.
value
=
__editorOverlayFact
.
defaultValue
id
:
lastSpacer
__editorOverlay
.
visible
=
false
height
:
10
width
:
5
}
}
}
QGCButton
{
Item
{
id
:
rcButton
width
:
parent
.
width
anchors.right
:
parent
.
right
height
:
parent
.
height
-
(
lastSpacer
.
y
+
lastSpacer
.
height
)
anchors.bottom
:
parent
.
bottom
visible
:
__editorOverlayFact
.
defaultValueAvailable
text
:
"
Set RC to Param...
"
onClicked
:
__controller
.
setRCToParam
(
__editorOverlayFact
.
name
)
}
}
// Rectangle - editorDialog
}
// Item - editorOverlay
Component
{
ScrollView
{
id
:
factRowsComponent
id
:
groupScroll
width
:
__textWidth
*
25
height
:
parent
.
height
Column
{
Column
{
id
:
factColumn
Repeater
{
x
:
__leftMargin
model
:
__controller
.
componentIds
QGCLabel
{
Column
{
height
:
__textHeight
+
(
ScreenTools
.
pixelSizeFactor
*
(
9
))
id
:
componentColumn
text
:
group
verticalAlignment
:
Text
.
AlignVCenter
font.pointSize
:
ScreenTools
.
fontPointFactor
*
(
16
);
}
Rectangle
{
readonly
property
int
componentId
:
parseInt
(
modelData
)
width
:
parent
.
width
height
:
1
color
:
__qgcPal
.
text
}
Repeater
{
QGCLabel
{
model
:
__controller
.
getFactsForGroup
(
componentId
,
group
)
height
:
contentHeight
+
(
ScreenTools
.
pixelSizeFactor
*
(
9
))
text
:
"
Component #:
"
+
componentId
.
toString
()
verticalAlignment
:
Text
.
AlignVCenter
font.pointSize
:
ScreenTools
.
fontPointFactor
*
(
16
);
}
Column
{
Repeater
{
Item
{
model
:
__controller
.
getGroupsForComponent
(
componentColumn
.
componentId
)
x
:
__leftMargin
width
:
parent
.
width
Column
{
height
:
__textHeight
+
(
ScreenTools
.
pixelSizeFactor
*
(
9
))
QGCButton
{
x
:
__leftMargin
width
:
groupScroll
.
width
-
__leftMargin
-
__rightMargin
text
:
modelData
onClicked
:
{
factRowsLoader
.
sourceComponent
=
null
factRowsLoader
.
componentId
=
componentId
factRowsLoader
.
group
=
modelData
factRowsLoader
.
sourceComponent
=
factRowsComponent
}
}
Item
{
width
:
1
height
:
ScreenTools
.
pixelSizeFactor
*
(
3
)
}
}
// Column - Group
}
// Repeater - Groups
Fact
{
Item
{
id
:
modelFact
height
:
10
width
:
10
}
}
// Column - Component
}
// Repeater - Components
}
// Column - Component
}
// ScrollView - Groups
Component.onCompleted
:
{
ScrollView
{
name
=
modelData
+
"
:
"
+
componentId
id
:
factScrollView
}
anchors.left
:
groupScroll
.
right
}
anchors.right
:
parent
.
right
height
:
parent
.
height
QGCLabel
{
Loader
{
id
:
nameLabel
id
:
factRowsLoader
width
:
__textWidth
*
(
__maxParamChars
+
1
)
width
:
factScrollView
.
width
height
:
parent
.
height
verticalAlignment
:
Text
.
AlignVCenter
text
:
modelFact
.
name
}
QGCLabel
{
property
int
componentId
:
__controller
.
componentIds
[
0
]
id
:
valueLabel
property
string
group
:
__controller
.
getGroupsForComponent
(
__controller
.
componentIds
[
0
])[
0
]
width
:
__textWidth
*
20
sourceComponent
:
factRowsComponent
height
:
parent
.
height
anchors.left
:
nameLabel
.
right
verticalAlignment
:
Text
.
AlignVCenter
color
:
modelFact
.
valueEqualsDefault
?
__qgcPal
.
text
:
"
orange
"
text
:
modelFact
.
valueString
+
"
"
+
modelFact
.
units
}
}
}
// ScrollView - Facts
}
// Item - Group ScrollView + Facts
}
// Column - Outer
}
}
// Component - Parameter List
QGCLabel
{
Component
{
height
:
parent
.
height
id
:
editorDialogComponent
anchors.left
:
valueLabel
.
right
verticalAlignment
:
Text
.
AlignVCenter
visible
:
fullMode
text
:
modelFact
.
shortDescription
}
MouseArea
{
QGCViewDialog
{
anchors.fill
:
parent
id
:
editorDialog
acceptedButtons
:
Qt
.
LeftButton
onClicked
:
{
property
bool
fullMode
:
true
__editorOverlayFact
=
modelFact
__editorOverlay
.
visible
=
true
}
}
}
Rectangle
{
function
accept
()
{
x
:
__leftMargin
__editorDialogFact
.
value
=
valueField
.
text
width
:
factColumn
.
width
-
__leftMargin
-
__rightMargin
editorDialog
.
hideDialog
()
height
:
1
color
:
__qgcPal
.
windowShade
}
}
// Column - Fact
}
// Repeater - Facts
}
// Column - Facts
}
// Component - factRowsComponent
Column
{
anchors.fill
:
parent
Item
{
width
:
parent
.
width
height
:
firstButton
.
height
QGCLabel
{
font.pointSize
:
ScreenTools
.
fontPointFactor
*
(
20
)
visible
:
fullMode
text
:
"
PARAMETER EDITOR
"
}
}
Row
{
Column
{
spacing
:
10
spacing
:
__textHeight
layoutDirection
:
Qt
.
RightToL
eft
anchors.left
:
parent
.
l
eft
width
:
parent
.
width
anchors.right
:
parent
.
right
QGCButton
{
QGCLabel
{
text
:
"
Clear RC to Param
"
width
:
parent
.
width
onClicked
:
__controller
.
clearRCToParam
()
wrapMode
:
Text
.
WordWrap
text
:
__editorDialogFact
.
shortDescription
?
__editorDialogFact
.
shortDescription
:
"
Description missing
"
}
}
QGCButton
{
text
:
"
Save to file
"
QGCLabel
{
visible
:
fullMode
width
:
parent
.
width
onClicked
:
__controller
.
saveToFile
()
wrapMode
:
Text
.
WordWrap
}
visible
:
__editorDialogFact
.
longDescription
QGCButton
{
text
:
__editorDialogFact
.
longDescription
text
:
"
Load from file
"
visible
:
fullMode
onClicked
:
__controller
.
loadFromFile
()
}
QGCButton
{
id
:
firstButton
text
:
"
Refresh
"
onClicked
:
__controller
.
refresh
()
}
}
}
}
Item
{
QGCTextField
{
id
:
lastSpacer
id
:
valueField
height
:
10
text
:
__editorDialogFact
.
valueString
width
:
5
}
}
Item
{
QGCLabel
{
text
:
__editorDialogFact
.
name
}
width
:
parent
.
width
height
:
parent
.
height
-
(
lastSpacer
.
y
+
lastSpacer
.
height
)
ScrollView
{
Row
{
id
:
groupScroll
spacing
:
__textWidth
width
:
__textWidth
*
25
height
:
parent
.
height
Column
{
QGCLabel
{
text
:
"
Units:
"
}
Repeater
{
QGCLabel
{
text
:
__editorDialogFact
.
units
?
__editorDialogFact
.
units
:
"
none
"
}
model
:
__controller
.
componentIds
}
Column
{
Row
{
id
:
componentColumn
spacing
:
__textWidth
readonly
property
int
componentId
:
parseInt
(
modelData
)
QGCLabel
{
text
:
"
Minimum value:
"
}
QGCLabel
{
text
:
__editorDialogFact
.
min
}
}
QGCLabel
{
Row
{
height
:
contentHeight
+
(
ScreenTools
.
pixelSizeFactor
*
(
9
))
spacing
:
__textWidth
text
:
"
Component #:
"
+
componentId
.
toString
()
verticalAlignment
:
Text
.
AlignVCenter
font.pointSize
:
ScreenTools
.
fontPointFactor
*
(
16
);
}
Repeater
{
QGCLabel
{
text
:
"
Maxmimum value:
"
}
model
:
__controller
.
getGroupsForComponent
(
componentColumn
.
componentId
)
QGCLabel
{
text
:
__editorDialogFact
.
max
}
}
Column
{
Row
{
QGCButton
{
spacing
:
__textWidth
x
:
__leftMargin
width
:
groupScroll
.
width
-
__leftMargin
-
__rightMargin
text
:
modelData
onClicked
:
{
factRowsLoader
.
sourceComponent
=
null
factRowsLoader
.
componentId
=
componentId
factRowsLoader
.
group
=
modelData
factRowsLoader
.
sourceComponent
=
factRowsComponent
}
}
Item
{
QGCLabel
{
text
:
"
Default value:
"
}
width
:
1
QGCLabel
{
text
:
__editorDialogFact
.
defaultValueAvailable
?
__editorDialogFact
.
defaultValue
:
"
none
"
}
height
:
ScreenTools
.
pixelSizeFactor
*
(
3
)
}
}
}
// Column - Group
}
// Repeater - Groups
Item
{
QGCLabel
{
height
:
10
width
:
parent
.
width
width
:
10
wrapMode
:
Text
.
WordWrap
}
text
:
"
Warning: Modifying parameters while vehicle is in flight can lead to vehicle instability and possible vehicle loss.
"
+
}
// Column - Component
"
Make sure you know what you are doing and double-check your values before Save!
"
}
// Repeater - Components
}
}
// Column - Component
}
// Column - Fact information
}
// ScrollView - Groups
ScrollView
{
id
:
factScrollView
anchors.left
:
groupScroll
.
right
anchors.right
:
parent
.
right
height
:
parent
.
height
Loader
{
QGCButton
{
id
:
factRowsLoader
anchors.rightMargin
:
__textWidth
width
:
factScrollView
.
width
anchors.right
:
rcButton
.
left
anchors.bottom
:
parent
.
bottom
visible
:
__editorDialogFact
.
defaultValueAvailable
text
:
"
Reset to default
"
property
int
componentId
:
__controller
.
componentIds
[
0
]
onClicked
:
{
property
string
group
:
__controller
.
getGroupsForComponent
(
__controller
.
componentIds
[
0
])[
0
]
__editorDialogFact
.
value
=
__editorDialogFact
.
defaultValue
sourceComponent
:
factRowsComponent
editorDialog
.
hideDialog
()
}
}
}
// ScrollView - Facts
}
}
// Item - Group ScrollView + Facts
}
// Column - Outer
QGCButton
{
}
id
:
rcButton
anchors.right
:
parent
.
right
anchors.bottom
:
parent
.
bottom
visible
:
__editorDialogFact
.
defaultValueAvailable
text
:
"
Set RC to Param...
"
onClicked
:
__controller
.
setRCToParam
(
__editorDialogFact
.
name
)
}
}
// Rectangle - editorDialog
}
// Component - Editor Dialog
}
// QGCView
\ No newline at end of file
src/QmlControls/
ViewWithDialog
.qml
→
src/QmlControls/
QGCView
.qml
View file @
4d3dd793
...
@@ -35,14 +35,22 @@ import QGroundControl.FactSystem 1.0
...
@@ -35,14 +35,22 @@ import QGroundControl.FactSystem 1.0
import
QGroundControl
.
FactControls
1.0
import
QGroundControl
.
FactControls
1.0
Item
{
Item
{
id
:
__rootItem
property
Component
viewComponent
property
Component
viewComponent
/// This is signalled when the top level Item reaches Component.onCompleted. This allows
/// the view subcomponent to connect to this signal and do work once the full ui is ready
/// to go.
signal
completed
function
__showDialog
(
component
,
title
,
charWidth
,
buttons
)
{
function
__showDialog
(
component
,
title
,
charWidth
,
buttons
)
{
__acceptButton
.
visible
=
false
__acceptButton
.
visible
=
false
__rejectButton
.
visible
=
false
__rejectButton
.
visible
=
false
__dialogCharWidth
=
charWidth
__dialogCharWidth
=
charWidth
__dialogTitle
=
title
__dialogTitle
=
title
// Accept role buttons
if
(
buttons
&
StandardButton
.
Ok
)
{
if
(
buttons
&
StandardButton
.
Ok
)
{
__acceptButton
.
text
=
"
Ok
"
__acceptButton
.
text
=
"
Ok
"
__acceptButton
.
visible
=
true
__acceptButton
.
visible
=
true
...
@@ -52,12 +60,6 @@ Item {
...
@@ -52,12 +60,6 @@ Item {
}
else
if
(
buttons
&
StandardButton
.
Save
)
{
}
else
if
(
buttons
&
StandardButton
.
Save
)
{
__acceptButton
.
text
=
"
Save
"
__acceptButton
.
text
=
"
Save
"
__acceptButton
.
visible
=
true
__acceptButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
Cancel
)
{
__rejectButton
.
text
=
"
Cancel
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
Close
)
{
__rejectButton
.
text
=
"
Cancel
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
Apply
)
{
}
else
if
(
buttons
&
StandardButton
.
Apply
)
{
__acceptButton
.
text
=
"
Apply
"
__acceptButton
.
text
=
"
Apply
"
__acceptButton
.
visible
=
true
__acceptButton
.
visible
=
true
...
@@ -73,15 +75,6 @@ Item {
...
@@ -73,15 +75,6 @@ Item {
}
else
if
(
buttons
&
StandardButton
.
YesToAll
)
{
}
else
if
(
buttons
&
StandardButton
.
YesToAll
)
{
__acceptButton
.
text
=
"
Yes to All
"
__acceptButton
.
text
=
"
Yes to All
"
__acceptButton
.
visible
=
true
__acceptButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
No
)
{
__rejectButton
.
text
=
"
No
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
NoToAll
)
{
__rejectButton
.
text
=
"
No to All
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
Abort
)
{
__rejectButton
.
text
=
"
Abort
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
Retry
)
{
}
else
if
(
buttons
&
StandardButton
.
Retry
)
{
__acceptButton
.
text
=
"
Retry
"
__acceptButton
.
text
=
"
Retry
"
__acceptButton
.
visible
=
true
__acceptButton
.
visible
=
true
...
@@ -95,6 +88,25 @@ Item {
...
@@ -95,6 +88,25 @@ Item {
__acceptButton
.
text
=
"
Ignore
"
__acceptButton
.
text
=
"
Ignore
"
__acceptButton
.
visible
=
true
__acceptButton
.
visible
=
true
}
}
// Reject role buttons
if
(
buttons
&
StandardButton
.
Cancel
)
{
__rejectButton
.
text
=
"
Cancel
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
Close
)
{
__rejectButton
.
text
=
"
Cancel
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
No
)
{
__rejectButton
.
text
=
"
No
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
NoToAll
)
{
__rejectButton
.
text
=
"
No to All
"
__rejectButton
.
visible
=
true
}
else
if
(
buttons
&
StandardButton
.
Abort
)
{
__rejectButton
.
text
=
"
Abort
"
__rejectButton
.
visible
=
true
}
__dialogComponent
=
component
__dialogComponent
=
component
__viewPanel
.
enabled
=
false
__viewPanel
.
enabled
=
false
__dialogOverlay
.
visible
=
true
__dialogOverlay
.
visible
=
true
...
@@ -120,7 +132,7 @@ Item {
...
@@ -120,7 +132,7 @@ Item {
property
Component
__dialogComponent
property
Component
__dialogComponent
Component.onCompleted
:
__viewPanel
.
item
.
doWorkAfterComponentC
ompleted
()
Component.onCompleted
:
c
ompleted
()
Connections
{
Connections
{
target
:
__viewPanel
.
item
target
:
__viewPanel
.
item
...
@@ -161,7 +173,7 @@ Item {
...
@@ -161,7 +173,7 @@ Item {
// This is the main dialog panel which is anchored to the right edge
// This is the main dialog panel which is anchored to the right edge
Rectangle
{
Rectangle
{
id
:
__dialogPanel
id
:
__dialogPanel
width
:
__textWidth
*
__dialogCharWidth
width
:
__
dialogCharWidth
==
-
1
?
parent
.
width
:
__
textWidth
*
__dialogCharWidth
height
:
parent
.
height
height
:
parent
.
height
anchors.right
:
parent
.
right
anchors.right
:
parent
.
right
color
:
__qgcPal
.
windowShadeDark
color
:
__qgcPal
.
windowShadeDark
...
...
src/QmlControls/QGCViewDialog.qml
0 → 100644
View file @
4d3dd793
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/// @file
/// @author Don Gagne <don@thegagnes.com>
import
QtQuick
2.3
import
QtQuick
.
Controls
1.3
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Palette
1.0
Rectangle
{
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
enabled
}
signal
hideDialog
function
accept
()
{
hideDialog
()
}
function
reject
()
{
hideDialog
()
}
color
:
qgcPal
.
windowShadeDark
}
src/QmlControls/QGCViewPanel.qml
0 → 100644
View file @
4d3dd793
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/// @file
/// @author Don Gagne <don@thegagnes.com>
import
QtQuick
2.3
import
QtQuick
.
Controls
1.3
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
Controls
1.0
Rectangle
{
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
enabled
}
signal
showDialog
(
Component
component
,
string
title
,
int
charWidth
,
int
buttons
)
signal
hideDialog
color
:
qgcPal
.
window
}
src/QmlControls/qmldir
View file @
4d3dd793
...
@@ -16,5 +16,8 @@ VehicleRotationCal 1.0 VehicleRotationCal.qml
...
@@ -16,5 +16,8 @@ VehicleRotationCal 1.0 VehicleRotationCal.qml
VehicleSummaryRow 1.0 VehicleSummaryRow.qml
VehicleSummaryRow 1.0 VehicleSummaryRow.qml
ParameterEditor 1.0 ParameterEditor.qml
ParameterEditor 1.0 ParameterEditor.qml
ViewWidget 1.0 ViewWidget.qml
ViewWidget 1.0 ViewWidget.qml
ViewWithDialog 1.0 ViewWithDialog.qml
QGCView 1.0 QGCView.qml
QGCViewPanel 1.0 QGCViewPanel.qml
QGCViewDialog 1.0 QGCViewDialog.qml
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment