Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
7c239e80
Commit
7c239e80
authored
Sep 20, 2011
by
lm
Browse files
Improved parameter slider, reads now correctly initial value
parent
6b29bc4a
Changes
2
Show whitespace changes
Inline
Side-by-side
src/ui/QGCParamWidget.cc
View file @
7c239e80
...
...
@@ -922,7 +922,7 @@ void QGCParamWidget::retransmissionGuardTick()
*/
void
QGCParamWidget
::
requestParameterUpdate
(
int
component
,
const
QString
&
parameter
)
{
// FIXME - IMPLEMENT THIS!
if
(
mav
)
mav
->
requestParameter
(
component
,
parameter
);
}
...
...
src/ui/designer/QGCParamSlider.cc
View file @
7c239e80
...
...
@@ -56,8 +56,8 @@ QGCParamSlider::QGCParamSlider(QWidget *parent) :
connect
(
UASManager
::
instance
(),
SIGNAL
(
activeUASSet
(
UASInterface
*
)),
this
,
SLOT
(
setActiveUAS
(
UASInterface
*
)));
setActiveUAS
(
UASManager
::
instance
()
->
getActiveUAS
());
// Get param value
QTimer
::
singleShot
(
1
00
,
this
,
SLOT
(
requestParameter
()));
// Get param value
after settings have been loaded
QTimer
::
singleShot
(
3
00
,
this
,
SLOT
(
requestParameter
()));
}
QGCParamSlider
::~
QGCParamSlider
()
...
...
@@ -88,21 +88,28 @@ void QGCParamSlider::setActiveUAS(UASInterface* activeUas)
connect
(
activeUas
,
SIGNAL
(
parameterChanged
(
int
,
int
,
int
,
int
,
QString
,
QVariant
)),
this
,
SLOT
(
setParameterValue
(
int
,
int
,
int
,
int
,
QString
,
QVariant
)),
Qt
::
UniqueConnection
);
uas
=
activeUas
;
// Update current param value
if
(
parameterName
==
""
)
{
refreshParamList
();
}
else
{
requestParameter
();
}
}
}
void
QGCParamSlider
::
requestParameter
()
{
if
(
!
parameterName
.
isEmpty
()
&&
uas
)
{
uas
->
requestParameter
(
this
->
component
,
this
->
parameterName
);
uas
->
getParamManager
()
->
requestParameter
Update
(
this
->
component
,
this
->
parameterName
);
}
}
void
QGCParamSlider
::
setParamValue
(
double
value
)
{
parameterValue
=
value
;
parameterValue
=
(
float
)
value
;
ui
->
valueSlider
->
setValue
(
floatToScaledInt
(
value
));
}
...
...
@@ -238,16 +245,18 @@ void QGCParamSlider::sendParameter()
void
QGCParamSlider
::
setSliderValue
(
int
sliderValue
)
{
parameterValue
=
scaledIntToFloat
(
sliderValue
);
switch
(
parameterValue
.
type
())
{
case
QVariant
::
Int
:
parameterValue
=
(
int
)
scaledIntToFloat
(
sliderValue
);
ui
->
intValueSpinBox
->
setValue
(
parameterValue
.
toInt
());
break
;
case
QVariant
::
UInt
:
parameterValue
=
(
unsigned
int
)
scaledIntToFloat
(
sliderValue
);
ui
->
intValueSpinBox
->
setValue
(
parameterValue
.
toUInt
());
break
;
case
QMetaType
::
Float
:
parameterValue
=
scaledIntToFloat
(
sliderValue
);
ui
->
doubleValueSpinBox
->
setValue
(
parameterValue
.
toFloat
());
break
;
default:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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