+ m_indicatorButton->setDirection(direction, draw);
+
+ m_distance = distance;
+
+ if(m_distance < 10.0)
+ {
+ m_distanceText.setNum(10);
+ m_distanceText.prepend("< ");
+ m_distanceText.append(" m");
+ }
+ else if(m_distance < 1000 - SMALL_REDUCE)
+ {
+ m_distanceText.setNum(m_distance, 0 , 0);
+ m_distanceText.append(" m");
+ }
+ else if(m_distance < 100000 - BIG_REDUCE)
+ {
+ m_distanceText.setNum(m_distance / M_TO_KM, 1, 1);
+ m_distanceText.append(" km");
+ }
+ else {
+ m_distanceText.setNum(m_distance / M_TO_KM, 0, 0);
+ m_distanceText.append(" km");
+ }
+
+ if (!m_indicatorButton->isChecked()) {
+ m_distanceTextLabel->setText(m_distanceText);
+ }
+ else {
+ m_distanceTextLabel->setText("");
+ }
+ update();
+ }