1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-27 16:54:15 +01:00

OP-1734 Add opacity fading - Remove debug code - Uncrustify

This commit is contained in:
Laurent Lalanne 2015-02-20 03:17:18 +01:00
parent 5cf14c9c73
commit 3c93738404
2 changed files with 27 additions and 26 deletions

View File

@ -304,12 +304,12 @@ void OutputCalibrationPage::setupVehicleItems()
m_vehicleScene->addItem(item);
m_vehicleItems << item;
bool addArrows = false;
bool addArrows = false;
if ((m_vehicleElementIds[i].contains("left")) || (m_vehicleElementIds[i].contains("right"))
|| (m_vehicleElementIds[i].contains("elevator")) || (m_vehicleElementIds[i].contains("rudder"))
|| (m_vehicleElementIds[i].contains("elevator")) || (m_vehicleElementIds[i].contains("rudder"))
|| (m_vehicleElementIds[i].contains("steering")) || (m_vehicleElementIds[i] == "singleaileron-aileron")) {
addArrows = true;
addArrows = true;
}
if (addArrows) {
@ -320,9 +320,8 @@ void OutputCalibrationPage::setupVehicleItems()
itemUp->setSharedRenderer(m_vehicleRenderer);
QString elementUp = m_vehicleElementIds[i] + arrowUp;
qDebug() << "############### Add " << elementUp;
itemUp->setElementId(elementUp);
itemUp->setZValue(i+10);
itemUp->setZValue(i + 10);
itemUp->setOpacity(0);
QRectF itemBounds = m_vehicleRenderer->boundsOnElement(elementUp);
@ -335,7 +334,7 @@ void OutputCalibrationPage::setupVehicleItems()
itemDown->setSharedRenderer(m_vehicleRenderer);
QString elementDown = m_vehicleElementIds[i] + arrowDown;
itemDown->setElementId(elementDown);
itemDown->setZValue(i+10);
itemDown->setZValue(i + 10);
itemDown->setOpacity(0);
itemBounds = m_vehicleRenderer->boundsOnElement(elementDown);
@ -365,23 +364,21 @@ void OutputCalibrationPage::setupVehicleHighlightedPart()
}
}
void OutputCalibrationPage::showElementMovement(bool isUp, float value)
void OutputCalibrationPage::showElementMovement(bool isUp, qreal value)
{
QString highlightedItemName = m_vehicleItems[m_currentWizardIndex]->elementId();
qDebug() << "+++++" << highlightedItemName;
for (int i = 0; i < m_arrowsItems.size(); i++) {
QString upItemName = highlightedItemName + "-up";
QString upItemName = highlightedItemName + "-up";
QString downItemName = highlightedItemName + "-down";
if (m_arrowsItems[i]->elementId() == upItemName) {
QGraphicsSvgItem *itemUp = m_arrowsItems[i];
itemUp->setOpacity(isUp ? value : 0);
QGraphicsSvgItem *itemUp = m_arrowsItems[i];
itemUp->setOpacity(isUp ? value : 0);
}
if (m_arrowsItems[i]->elementId() == downItemName) {
QGraphicsSvgItem *itemDown = m_arrowsItems[i];
itemDown->setOpacity(isUp ? 0 : value);
QGraphicsSvgItem *itemDown = m_arrowsItems[i];
itemDown->setOpacity(isUp ? 0 : value);
}
qDebug() << "***** " << i << " ****** " << m_arrowsItems[i]->elementId();
}
}
@ -428,7 +425,7 @@ void OutputCalibrationPage::setWizardPage()
}
}
setupVehicleHighlightedPart();
// Hide arrows
// Hide arrows
showElementMovement(true, 0);
showElementMovement(false, 0);
}
@ -479,8 +476,6 @@ void OutputCalibrationPage::customBackClicked()
} else {
getWizard()->back();
}
}
quint16 OutputCalibrationPage::getCurrentChannel()
@ -546,7 +541,7 @@ void OutputCalibrationPage::enableServoSliders(bool enabled)
ui->servoMinAngleSlider->setEnabled(enabled);
ui->servoMaxAngleSlider->setEnabled(enabled);
ui->reverseCheckbox->setEnabled(!enabled);
// Hide arrows
// Hide arrows
showElementMovement(true, 0);
showElementMovement(false, 0);
}
@ -640,17 +635,23 @@ void OutputCalibrationPage::on_servoCenterAngleSlider_valueChanged(int position)
quint16 minValue = (ui->reverseCheckbox->isChecked()) ? ui->servoMaxAngleSlider->value() : ui->servoMinAngleSlider->value();
quint16 maxValue = (ui->reverseCheckbox->isChecked()) ? ui->servoMinAngleSlider->value() : ui->servoMaxAngleSlider->value();
quint16 range = maxValue - minValue;
quint16 range = maxValue - minValue;
// Reset arows
showElementMovement(true, 0);
showElementMovement(false, 0);
// 20% "Dead band" : no arrow display
if (value < minValue + (range * 0.40)) {
showElementMovement((ui->reverseCheckbox->isChecked() ? true : false), 1.0);
} else if (value > maxValue - (range * 0.40)) {
showElementMovement((ui->reverseCheckbox->isChecked() ? false : true), 1.0);
}
// 30% "Dead band" : no arrow display
quint16 limitLow = minValue + (range * 0.35);
quint16 limitHigh = maxValue - (range * 0.35);
quint16 middle = minValue + (range / 2);
qreal arrowOpacity = 0;
if (value < limitLow) {
arrowOpacity = double(middle - value) / double(middle - minValue);
showElementMovement((ui->reverseCheckbox->isChecked() ? true : false), arrowOpacity);
} else if (value > limitHigh) {
arrowOpacity = double(value - middle) / double(maxValue - middle);
showElementMovement((ui->reverseCheckbox->isChecked() ? false : true), arrowOpacity);
}
debugLogChannelValues();
}

View File

@ -76,7 +76,7 @@ private:
void startWizard();
void setupVehicleItems();
void setupVehicleHighlightedPart();
void showElementMovement(bool isUp, float value);
void showElementMovement(bool isUp, qreal value);
void setWizardPage();
void enableButtons(bool enable);
void enableServoSliders(bool enabled);