Add AMI screen
This commit is contained in:
		
							
								
								
									
										10
									
								
								TouchGFX/gui/src/ami_screen/AMIPresenter.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								TouchGFX/gui/src/ami_screen/AMIPresenter.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
#include <gui/ami_screen/AMIPresenter.hpp>
 | 
			
		||||
#include <gui/ami_screen/AMIView.hpp>
 | 
			
		||||
 | 
			
		||||
#include "main.h"
 | 
			
		||||
 | 
			
		||||
AMIPresenter::AMIPresenter(AMIView &v) : view(v) {}
 | 
			
		||||
 | 
			
		||||
void AMIPresenter::activate() { view.setMission(model->getMission()); }
 | 
			
		||||
 | 
			
		||||
void AMIPresenter::deactivate() {}
 | 
			
		||||
							
								
								
									
										40
									
								
								TouchGFX/gui/src/ami_screen/AMIView.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								TouchGFX/gui/src/ami_screen/AMIView.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
			
		||||
#include "stw_defines.h"
 | 
			
		||||
#include "texts/TextKeysAndLanguages.hpp"
 | 
			
		||||
#include "touchgfx/Color.hpp"
 | 
			
		||||
#include "touchgfx/TypedText.hpp"
 | 
			
		||||
#include <gui/ami_screen/AMIView.hpp>
 | 
			
		||||
 | 
			
		||||
AMIView::AMIView() {}
 | 
			
		||||
 | 
			
		||||
void AMIView::setupScreen() { AMIViewBase::setupScreen(); }
 | 
			
		||||
 | 
			
		||||
void AMIView::tearDownScreen() { AMIViewBase::tearDownScreen(); }
 | 
			
		||||
 | 
			
		||||
void AMIView::setMission(Mission mission) {
 | 
			
		||||
  switch (mission) {
 | 
			
		||||
  case MISSION_ACCEL:
 | 
			
		||||
    currentMission.setTypedText(TypedText(T_ACCEL_HUGE));
 | 
			
		||||
    break;
 | 
			
		||||
  case MISSION_SKIDPAD:
 | 
			
		||||
    currentMission.setTypedText(TypedText(T_SKIDPAD_HUGE));
 | 
			
		||||
    break;
 | 
			
		||||
  case MISSION_AUTOX:
 | 
			
		||||
    currentMission.setTypedText(TypedText(T_AUTOX_HUGE));
 | 
			
		||||
    break;
 | 
			
		||||
  case MISSION_TRACKDRIVE:
 | 
			
		||||
    currentMission.setTypedText(TypedText(T_TRACKDRIVE_HUGE));
 | 
			
		||||
    break;
 | 
			
		||||
  case MISSION_EBS:
 | 
			
		||||
    currentMission.setTypedText(TypedText(T_EBS_HUGE));
 | 
			
		||||
    break;
 | 
			
		||||
  case MISSION_INSPECTION:
 | 
			
		||||
    currentMission.setTypedText(TypedText(T_INSPECTION_HUGE));
 | 
			
		||||
    break;
 | 
			
		||||
  case MISSION_MANUAL:
 | 
			
		||||
  case MISSION_NONE:
 | 
			
		||||
  default:
 | 
			
		||||
    currentMission.setTypedText(TypedText(T_INVALID_HUGE));
 | 
			
		||||
    currentMission.setColor(touchgfx::Color::getColorFromRGB(0xFF, 0, 0));
 | 
			
		||||
    break;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -7,3 +7,7 @@ MissionSelectPresenter::MissionSelectPresenter(MissionSelectView &v)
 | 
			
		||||
void MissionSelectPresenter::activate() {}
 | 
			
		||||
 | 
			
		||||
void MissionSelectPresenter::deactivate() {}
 | 
			
		||||
 | 
			
		||||
void MissionSelectPresenter::confirmMission(Mission mission) {
 | 
			
		||||
  model->setMission(mission);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,4 @@
 | 
			
		||||
#include "gui/missionselect_screen/MissionSelectPresenter.hpp"
 | 
			
		||||
#include "stw_defines.h"
 | 
			
		||||
#include "texts/TextKeysAndLanguages.hpp"
 | 
			
		||||
#include <gui/missionselect_screen/MissionSelectView.hpp>
 | 
			
		||||
@ -44,6 +45,15 @@ void MissionSelectView::decMission() {
 | 
			
		||||
  setSelectedMission(static_cast<Mission>(mission_int));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MissionSelectView::confirmMission() {
 | 
			
		||||
  if (selectedMission == MISSION_NONE) {
 | 
			
		||||
    // Can't confirm if we haven't selected a mission yet
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  presenter->confirmMission(selectedMission);
 | 
			
		||||
  application().gotoAMIScreenNoTransition();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MissionSelectView::setSelectedMission(Mission mission) {
 | 
			
		||||
  if (selected != nullptr) {
 | 
			
		||||
    selected->setSelected(false);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user