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
565b4ae3
Commit
565b4ae3
authored
Oct 07, 2014
by
Don Gagne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove old APM code from PX4 config
parent
4b2a5047
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
503 deletions
+0
-503
QGCPX4VehicleConfig.cc
src/ui/QGCPX4VehicleConfig.cc
+0
-499
QGCPX4VehicleConfig.h
src/ui/QGCPX4VehicleConfig.h
+0
-4
No files found.
src/ui/QGCPX4VehicleConfig.cc
View file @
565b4ae3
...
...
@@ -195,172 +195,6 @@ void QGCPX4VehicleConfig::toggleSpektrumPairing(bool enabled)
}
#endif
void
QGCPX4VehicleConfig
::
loadQgcConfig
(
bool
primary
)
{
Q_UNUSED
(
primary
);
QDir
autopilotdir
(
qApp
->
applicationDirPath
()
+
"/files/"
+
mav
->
getAutopilotTypeName
().
toLower
());
QDir
generaldir
=
QDir
(
autopilotdir
.
absolutePath
()
+
"/general/widgets"
);
QDir
vehicledir
=
QDir
(
autopilotdir
.
absolutePath
()
+
"/"
+
mav
->
getSystemTypeName
().
toLower
()
+
"/widgets"
);
if
(
!
autopilotdir
.
exists
(
"general"
))
{
//TODO: Throw some kind of error here. There is no general configuration directory
qDebug
()
<<
"Invalid general dir. no general configuration will be loaded."
;
}
if
(
!
autopilotdir
.
exists
(
mav
->
getAutopilotTypeName
().
toLower
()))
{
//TODO: Throw an error here too, no autopilot specific configuration
qDebug
()
<<
"Invalid vehicle dir, no vehicle specific configuration will be loaded."
;
}
// Generate widgets for the General tab.
QGCToolWidget
*
tool
;
bool
left
=
true
;
foreach
(
QString
file
,
generaldir
.
entryList
(
QDir
::
Files
|
QDir
::
NoDotAndDotDot
))
{
if
(
file
.
toLower
().
endsWith
(
".qgw"
))
{
QWidget
*
parent
=
left
?
ui
->
generalLeftContents
:
ui
->
generalRightContents
;
tool
=
new
QGCToolWidget
(
""
,
""
,
parent
);
if
(
tool
->
loadSettings
(
generaldir
.
absoluteFilePath
(
file
),
false
))
{
toolWidgets
.
append
(
tool
);
QGroupBox
*
box
=
new
QGroupBox
(
parent
);
box
->
setTitle
(
tool
->
objectName
());
box
->
setLayout
(
new
QVBoxLayout
(
box
));
box
->
layout
()
->
addWidget
(
tool
);
if
(
left
)
{
left
=
false
;
ui
->
generalLeftLayout
->
addWidget
(
box
);
}
else
{
left
=
true
;
ui
->
generalRightLayout
->
addWidget
(
box
);
}
}
else
{
delete
tool
;
}
}
}
//TODO fix and reintegrate the Advanced parameter editor
// // Generate widgets for the Advanced tab.
// foreach (QString file,vehicledir.entryList(QDir::Files | QDir::NoDotAndDotDot))
// {
// if (file.toLower().endsWith(".qgw")) {
// QWidget* parent = ui->advanceColumnContents;
// tool = new QGCToolWidget("", parent);
// if (tool->loadSettings(vehicledir.absoluteFilePath(file), false))
// {
// toolWidgets.append(tool);
// QGroupBox *box = new QGroupBox(parent);
// box->setTitle(tool->objectName());
// box->setLayout(new QVBoxLayout(box));
// box->layout()->addWidget(tool);
// ui->advancedColumnLayout->addWidget(box);
// } else {
// delete tool;
// }
// }
// }
// Load tabs for general configuration
foreach
(
QString
dir
,
generaldir
.
entryList
(
QDir
::
Dirs
|
QDir
::
NoDotAndDotDot
))
{
QPushButton
*
button
=
new
QPushButton
(
this
);
connect
(
button
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
menuButtonClicked
()));
ui
->
navBarLayout
->
insertWidget
(
2
,
button
);
button
->
setMinimumHeight
(
75
);
button
->
setMinimumWidth
(
100
);
button
->
show
();
button
->
setText
(
dir
);
QWidget
*
tab
=
new
QWidget
(
ui
->
stackedWidget
);
ui
->
stackedWidget
->
insertWidget
(
2
,
tab
);
buttonToWidgetMap
[
button
]
=
tab
;
tab
->
setLayout
(
new
QVBoxLayout
());
tab
->
show
();
QScrollArea
*
area
=
new
QScrollArea
(
tab
);
tab
->
layout
()
->
addWidget
(
area
);
QWidget
*
scrollArea
=
new
QWidget
(
tab
);
scrollArea
->
setLayout
(
new
QVBoxLayout
(
tab
));
area
->
setWidget
(
scrollArea
);
area
->
setWidgetResizable
(
true
);
area
->
show
();
scrollArea
->
show
();
QDir
newdir
=
QDir
(
generaldir
.
absoluteFilePath
(
dir
));
foreach
(
QString
file
,
newdir
.
entryList
(
QDir
::
Files
|
QDir
::
NoDotAndDotDot
))
{
if
(
file
.
toLower
().
endsWith
(
".qgw"
))
{
tool
=
new
QGCToolWidget
(
""
,
""
,
tab
);
if
(
tool
->
loadSettings
(
newdir
.
absoluteFilePath
(
file
),
false
))
{
toolWidgets
.
append
(
tool
);
//ui->sensorLayout->addWidget(tool);
QGroupBox
*
box
=
new
QGroupBox
(
tab
);
box
->
setTitle
(
tool
->
objectName
());
box
->
setLayout
(
new
QVBoxLayout
(
tab
));
box
->
layout
()
->
addWidget
(
tool
);
scrollArea
->
layout
()
->
addWidget
(
box
);
}
else
{
delete
tool
;
}
}
}
}
// Load additional tabs for vehicle specific configuration
foreach
(
QString
dir
,
vehicledir
.
entryList
(
QDir
::
Dirs
|
QDir
::
NoDotAndDotDot
))
{
QPushButton
*
button
=
new
QPushButton
(
this
);
connect
(
button
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
menuButtonClicked
()));
ui
->
navBarLayout
->
insertWidget
(
2
,
button
);
QWidget
*
tab
=
new
QWidget
(
ui
->
stackedWidget
);
ui
->
stackedWidget
->
insertWidget
(
2
,
tab
);
buttonToWidgetMap
[
button
]
=
tab
;
button
->
setMinimumHeight
(
75
);
button
->
setMinimumWidth
(
100
);
button
->
show
();
button
->
setText
(
dir
);
tab
->
setLayout
(
new
QVBoxLayout
());
tab
->
show
();
QScrollArea
*
area
=
new
QScrollArea
(
tab
);
tab
->
layout
()
->
addWidget
(
area
);
QWidget
*
scrollArea
=
new
QWidget
(
tab
);
scrollArea
->
setLayout
(
new
QVBoxLayout
(
tab
));
area
->
setWidget
(
scrollArea
);
area
->
setWidgetResizable
(
true
);
area
->
show
();
scrollArea
->
show
();
QDir
newdir
=
QDir
(
vehicledir
.
absoluteFilePath
(
dir
));
foreach
(
QString
file
,
newdir
.
entryList
(
QDir
::
Files
|
QDir
::
NoDotAndDotDot
))
{
if
(
file
.
toLower
().
endsWith
(
".qgw"
))
{
tool
=
new
QGCToolWidget
(
""
,
""
,
tab
);
tool
->
addUAS
(
mav
);
if
(
tool
->
loadSettings
(
newdir
.
absoluteFilePath
(
file
),
false
))
{
toolWidgets
.
append
(
tool
);
//ui->sensorLayout->addWidget(tool);
QGroupBox
*
box
=
new
QGroupBox
(
tab
);
box
->
setTitle
(
tool
->
objectName
());
box
->
setLayout
(
new
QVBoxLayout
(
box
));
box
->
layout
()
->
addWidget
(
tool
);
scrollArea
->
layout
()
->
addWidget
(
box
);
box
->
show
();
//gbox->layout()->addWidget(box);
}
else
{
delete
tool
;
}
}
}
}
}
void
QGCPX4VehicleConfig
::
menuButtonClicked
()
{
QPushButton
*
button
=
qobject_cast
<
QPushButton
*>
(
sender
());
...
...
@@ -375,325 +209,6 @@ void QGCPX4VehicleConfig::menuButtonClicked()
}
void
QGCPX4VehicleConfig
::
loadConfig
()
{
QGCToolWidget
*
tool
;
QDir
autopilotdir
(
qApp
->
applicationDirPath
()
+
"/files/"
+
mav
->
getAutopilotTypeName
().
toLower
());
qDebug
()
<<
autopilotdir
.
absolutePath
();
QFile
xmlfile
(
autopilotdir
.
absolutePath
()
+
"/arduplane.pdef.xml"
);
if
(
!
xmlfile
.
open
(
QIODevice
::
ReadOnly
))
{
loadQgcConfig
(
false
);
doneLoadingConfig
=
true
;
return
;
}
loadQgcConfig
(
true
);
QXmlStreamReader
xml
(
xmlfile
.
readAll
());
xmlfile
.
close
();
//TODO: Testing to ensure that incorrectly formatted XML won't break this.
while
(
!
xml
.
atEnd
())
{
if
(
xml
.
isStartElement
()
&&
xml
.
name
()
==
"paramfile"
)
{
xml
.
readNext
();
while
((
xml
.
name
()
!=
"paramfile"
)
&&
!
xml
.
atEnd
())
{
QString
valuetype
=
""
;
if
(
xml
.
isStartElement
()
&&
(
xml
.
name
()
==
"vehicles"
||
xml
.
name
()
==
"libraries"
))
//Enter into the vehicles loop
{
valuetype
=
xml
.
name
().
toString
();
xml
.
readNext
();
while
((
xml
.
name
()
!=
valuetype
)
&&
!
xml
.
atEnd
())
{
if
(
xml
.
isStartElement
()
&&
xml
.
name
()
==
"parameters"
)
//This is a parameter block
{
QString
parametersname
=
""
;
if
(
xml
.
attributes
().
hasAttribute
(
"name"
))
{
parametersname
=
xml
.
attributes
().
value
(
"name"
).
toString
();
}
QVariantMap
genset
;
QVariantMap
advset
;
QString
setname
=
parametersname
;
xml
.
readNext
();
int
genarraycount
=
0
;
int
advarraycount
=
0
;
while
((
xml
.
name
()
!=
"parameters"
)
&&
!
xml
.
atEnd
())
{
if
(
xml
.
isStartElement
()
&&
xml
.
name
()
==
"param"
)
{
QString
humanname
=
xml
.
attributes
().
value
(
"humanName"
).
toString
();
QString
name
=
xml
.
attributes
().
value
(
"name"
).
toString
();
QString
tab
=
xml
.
attributes
().
value
(
"user"
).
toString
();
if
(
tab
==
"Advanced"
)
{
advset
[
"title"
]
=
parametersname
;
}
else
{
genset
[
"title"
]
=
parametersname
;
}
if
(
name
.
contains
(
":"
))
{
name
=
name
.
split
(
":"
)[
1
];
}
QString
docs
=
xml
.
attributes
().
value
(
"documentation"
).
toString
();
paramTooltips
[
name
]
=
name
+
" - "
+
docs
;
int
type
=
-
1
;
//Type of item
QMap
<
QString
,
QString
>
fieldmap
;
xml
.
readNext
();
while
((
xml
.
name
()
!=
"param"
)
&&
!
xml
.
atEnd
())
{
if
(
xml
.
isStartElement
()
&&
xml
.
name
()
==
"values"
)
{
type
=
1
;
//1 is a combobox
if
(
tab
==
"Advanced"
)
{
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"TYPE"
]
=
"COMBO"
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_DESCRIPTION"
]
=
humanname
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_PARAMID"
]
=
name
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_COMPONENTID"
]
=
1
;
}
else
{
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"TYPE"
]
=
"COMBO"
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_DESCRIPTION"
]
=
humanname
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_PARAMID"
]
=
name
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_COMPONENTID"
]
=
1
;
}
int
paramcount
=
0
;
xml
.
readNext
();
while
((
xml
.
name
()
!=
"values"
)
&&
!
xml
.
atEnd
())
{
if
(
xml
.
isStartElement
()
&&
xml
.
name
()
==
"value"
)
{
QString
code
=
xml
.
attributes
().
value
(
"code"
).
toString
();
QString
arg
=
xml
.
readElementText
();
if
(
tab
==
"Advanced"
)
{
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_ITEM_"
+
QString
::
number
(
paramcount
)
+
"_TEXT"
]
=
arg
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_ITEM_"
+
QString
::
number
(
paramcount
)
+
"_VAL"
]
=
code
.
toInt
();
}
else
{
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_ITEM_"
+
QString
::
number
(
paramcount
)
+
"_TEXT"
]
=
arg
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_ITEM_"
+
QString
::
number
(
paramcount
)
+
"_VAL"
]
=
code
.
toInt
();
}
paramcount
++
;
}
xml
.
readNext
();
}
if
(
tab
==
"Advanced"
)
{
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_COUNT"
]
=
paramcount
;
}
else
{
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_COMBOBOX_COUNT"
]
=
paramcount
;
}
}
if
(
xml
.
isStartElement
()
&&
xml
.
name
()
==
"field"
)
{
type
=
2
;
//2 is a slider
QString
fieldtype
=
xml
.
attributes
().
value
(
"name"
).
toString
();
QString
text
=
xml
.
readElementText
();
fieldmap
[
fieldtype
]
=
text
;
}
xml
.
readNext
();
}
if
(
type
==
-
1
)
{
//Nothing inside! Assume it's a value, give it a default range.
type
=
2
;
QString
fieldtype
=
"Range"
;
QString
text
=
"0 100"
;
//TODO: Determine a better way of figuring out default ranges.
fieldmap
[
fieldtype
]
=
text
;
}
if
(
type
==
2
)
{
if
(
tab
==
"Advanced"
)
{
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"TYPE"
]
=
"SLIDER"
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_DESCRIPTION"
]
=
humanname
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_PARAMID"
]
=
name
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_COMPONENTID"
]
=
1
;
}
else
{
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"TYPE"
]
=
"SLIDER"
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_DESCRIPTION"
]
=
humanname
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_PARAMID"
]
=
name
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_COMPONENTID"
]
=
1
;
}
if
(
fieldmap
.
contains
(
"Range"
))
{
float
min
=
0
;
float
max
=
0
;
//Some range fields list "0-10" and some list "0 10". Handle both.
if
(
fieldmap
[
"Range"
].
split
(
" "
).
size
()
>
1
)
{
min
=
fieldmap
[
"Range"
].
split
(
" "
)[
0
].
trimmed
().
toFloat
();
max
=
fieldmap
[
"Range"
].
split
(
" "
)[
1
].
trimmed
().
toFloat
();
}
else
if
(
fieldmap
[
"Range"
].
split
(
"-"
).
size
()
>
1
)
{
min
=
fieldmap
[
"Range"
].
split
(
"-"
)[
0
].
trimmed
().
toFloat
();
max
=
fieldmap
[
"Range"
].
split
(
"-"
)[
1
].
trimmed
().
toFloat
();
}
if
(
tab
==
"Advanced"
)
{
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_MIN"
]
=
min
;
advset
[
setname
+
"
\\
"
+
QString
::
number
(
advarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_MAX"
]
=
max
;
}
else
{
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_MIN"
]
=
min
;
genset
[
setname
+
"
\\
"
+
QString
::
number
(
genarraycount
)
+
"
\\
"
+
"QGC_PARAM_SLIDER_MAX"
]
=
max
;
}
}
}
if
(
tab
==
"Advanced"
)
{
advarraycount
++
;
advset
[
"count"
]
=
advarraycount
;
}
else
{
genarraycount
++
;
genset
[
"count"
]
=
genarraycount
;
}
}
xml
.
readNext
();
}
if
(
genarraycount
>
0
)
{
QWidget
*
parent
=
this
;
if
(
valuetype
==
"vehicles"
)
{
parent
=
ui
->
generalLeftContents
;
}
else
if
(
valuetype
==
"libraries"
)
{
parent
=
ui
->
generalRightContents
;
}
tool
=
new
QGCToolWidget
(
parametersname
,
parametersname
,
parent
);
tool
->
addUAS
(
mav
);
tool
->
setSettings
(
genset
);
QList
<
QString
>
paramlist
=
tool
->
getParamList
();
for
(
int
i
=
0
;
i
<
paramlist
.
size
();
i
++
)
{
//Based on the airframe, we add the parameter to different categories.
if
(
parametersname
==
"ArduPlane"
)
//MAV_TYPE_FIXED_WING FIXED_WING
{
systemTypeToParamMap
[
"FIXED_WING"
].
insert
(
paramlist
[
i
],
tool
);
}
else
if
(
parametersname
==
"ArduCopter"
)
//MAV_TYPE_QUADROTOR "QUADROTOR
{
systemTypeToParamMap
[
"QUADROTOR"
].
insert
(
paramlist
[
i
],
tool
);
}
else
if
(
parametersname
==
"APMrover2"
)
//MAV_TYPE_GROUND_ROVER GROUND_ROVER
{
systemTypeToParamMap
[
"GROUND_ROVER"
].
insert
(
paramlist
[
i
],
tool
);
}
else
{
libParamToWidgetMap
.
insert
(
paramlist
[
i
],
tool
);
}
}
toolWidgets
.
append
(
tool
);
QGroupBox
*
box
=
new
QGroupBox
(
parent
);
box
->
setTitle
(
tool
->
objectName
());
box
->
setLayout
(
new
QVBoxLayout
(
box
));
box
->
layout
()
->
addWidget
(
tool
);
if
(
valuetype
==
"vehicles"
)
{
ui
->
generalLeftLayout
->
addWidget
(
box
);
}
else
if
(
valuetype
==
"libraries"
)
{
ui
->
generalRightLayout
->
addWidget
(
box
);
}
box
->
hide
();
toolToBoxMap
[
tool
]
=
box
;
}
if
(
advarraycount
>
0
)
{
QWidget
*
parent
=
this
;
if
(
valuetype
==
"vehicles"
)
{
parent
=
ui
->
generalLeftContents
;
}
else
if
(
valuetype
==
"libraries"
)
{
parent
=
ui
->
generalRightContents
;
}
tool
=
new
QGCToolWidget
(
parametersname
,
parametersname
,
parent
);
tool
->
addUAS
(
mav
);
tool
->
setSettings
(
advset
);
QList
<
QString
>
paramlist
=
tool
->
getParamList
();
for
(
int
i
=
0
;
i
<
paramlist
.
size
();
i
++
)
{
//Based on the airframe, we add the parameter to different categories.
if
(
parametersname
==
"ArduPlane"
)
//MAV_TYPE_FIXED_WING FIXED_WING
{
systemTypeToParamMap
[
"FIXED_WING"
].
insert
(
paramlist
[
i
],
tool
);
}
else
if
(
parametersname
==
"ArduCopter"
)
//MAV_TYPE_QUADROTOR "QUADROTOR
{
systemTypeToParamMap
[
"QUADROTOR"
].
insert
(
paramlist
[
i
],
tool
);
}
else
if
(
parametersname
==
"APMrover2"
)
//MAV_TYPE_GROUND_ROVER GROUND_ROVER
{
systemTypeToParamMap
[
"GROUND_ROVER"
].
insert
(
paramlist
[
i
],
tool
);
}
else
{
libParamToWidgetMap
.
insert
(
paramlist
[
i
],
tool
);
}
}
toolWidgets
.
append
(
tool
);
QGroupBox
*
box
=
new
QGroupBox
(
parent
);
box
->
setTitle
(
tool
->
objectName
());
box
->
setLayout
(
new
QVBoxLayout
(
box
));
box
->
layout
()
->
addWidget
(
tool
);
if
(
valuetype
==
"vehicles"
)
{
ui
->
generalLeftLayout
->
addWidget
(
box
);
}
else
if
(
valuetype
==
"libraries"
)
{
ui
->
generalRightLayout
->
addWidget
(
box
);
}
box
->
hide
();
toolToBoxMap
[
tool
]
=
box
;
}
}
xml
.
readNext
();
}
}
xml
.
readNext
();
}
}
xml
.
readNext
();
}
if
(
!
paramTooltips
.
isEmpty
())
{
paramMgr
->
setParamDescriptions
(
paramTooltips
);
}
doneLoadingConfig
=
true
;
//Config is finished, lets do a parameter request to ensure none are missed if someone else started requesting before we were finished.
paramMgr
->
requestParameterListIfEmpty
();
}
void
QGCPX4VehicleConfig
::
setActiveUAS
(
UASInterface
*
active
)
{
// Hide items if NULL and abort
...
...
@@ -713,20 +228,6 @@ void QGCPX4VehicleConfig::setActiveUAS(UASInterface* active)
disconnect
(
mav
,
SIGNAL
(
parameterChanged
(
int
,
int
,
QString
,
QVariant
)),
this
,
SLOT
(
parameterChanged
(
int
,
int
,
QString
,
QVariant
)));
// Delete all children from all fixed tabs.
foreach
(
QWidget
*
child
,
ui
->
generalLeftContents
->
findChildren
<
QWidget
*>
())
{
child
->
deleteLater
();
}
foreach
(
QWidget
*
child
,
ui
->
generalRightContents
->
findChildren
<
QWidget
*>
())
{
child
->
deleteLater
();
}
foreach
(
QWidget
*
child
,
ui
->
advanceColumnContents
->
findChildren
<
QWidget
*>
())
{
child
->
deleteLater
();
}
// foreach(QWidget* child, ui->sensorLayout->findChildren<QWidget*>()) {
// child->deleteLater();
// }
foreach
(
QWidget
*
child
,
ui
->
airframeLayout
->
findChildren
<
QWidget
*>
())
{
child
->
deleteLater
();
...
...
src/ui/QGCPX4VehicleConfig.h
View file @
565b4ae3
...
...
@@ -50,10 +50,6 @@ public slots:
/** Set the MAV currently being calibrated */
void
setActiveUAS
(
UASInterface
*
active
);
/** Fallback function, automatically called by loadConfig() upon failure to find and xml file*/
void
loadQgcConfig
(
bool
primary
);
/** Load configuration from xml file */
void
loadConfig
();
protected
slots
:
void
menuButtonClicked
();
...
...
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