/**
  * Add: course
  */
 protected function addCourse()
 {
     if (strlen($this->Context->route()->name()) > 0) {
         $PathBox = new BoxedValue($this->Context->route()->name(), '', __('Course'));
         $PathBox->defineAsFloatingBlock('w100 flexible-height');
         $this->BoxedValues[] = $PathBox;
     }
 }
 /**
  * Add running dynamics
  */
 protected function addRunningDynamics()
 {
     if ($this->Context->activity()->groundcontact() > 0 || $this->Context->activity()->verticalOscillation() > 0) {
         $Contact = new BoxedValue(Helper::Unknown($this->Context->activity()->groundcontact(), '-'), 'ms', __('Ground contact'));
         $Contact->defineAsFloatingBlock('w50');
         $Oscillation = new BoxedValue(Helper::Unknown(round($this->Context->activity()->verticalOscillation() / 10, 1), '-'), 'cm', __('Vertical oscillation'));
         $Oscillation->defineAsFloatingBlock('w50');
         $this->BoxedValues[] = $Contact;
         $this->BoxedValues[] = $Oscillation;
     }
 }
 /**
  * Add training partner
  */
 protected function addTrainingPartner()
 {
     if (!$this->Context->activity()->partner()->isEmpty()) {
         $TrainingPartner = new BoxedValue($this->Context->dataview()->partnerAsLinks(), '', __('Training partner'));
         $TrainingPartner->defineAsFloatingBlock('w100 flexible-height');
         $this->BoxedValues[] = $TrainingPartner;
     }
 }
 /**
  * Show boxed values
  * @param array $data
  */
 private function showDataAsBoxedValues($data)
 {
     $Factory = new Factory(SessionAccountHandler::getId());
     foreach ($data as $dat) {
         // TODO: Define the decision (distance or time) somehow in the configuration
         $Sport = $Factory->sport($dat['sportid']);
         $Value = new BoxedValue();
         $Value->setIcon($Sport->icon()->code());
         $Value->setInfo($Sport->name());
         $Value->defineAsFloatingBlock('w50');
         if ($dat['count_distance'] >= $dat['count'] / 2) {
             $Distance = new Distance($dat['distance']);
             $Value->setValue($Distance->string(false, false, false));
             $Value->setUnit($Distance->unit());
         } else {
             $Duration = new Duration($dat['time_in_s']);
             $Value->setValue($Duration->string(Duration::FORMAT_WITH_HOURS));
         }
         $Value->display();
     }
 }