Handle buttons & encoders in View, not Model
This commit is contained in:
@ -7,7 +7,3 @@ MissionSelectPresenter::MissionSelectPresenter(MissionSelectView &v)
|
||||
void MissionSelectPresenter::activate() {}
|
||||
|
||||
void MissionSelectPresenter::deactivate() {}
|
||||
|
||||
void MissionSelectPresenter::notifyMissionChanged(Mission mission) {
|
||||
view.setSelectedMission(mission);
|
||||
}
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
#include "stw_defines.h"
|
||||
#include "texts/TextKeysAndLanguages.hpp"
|
||||
#include <gui/missionselect_screen/MissionSelectView.hpp>
|
||||
|
||||
MissionSelectView::MissionSelectView() : selected{nullptr} {}
|
||||
MissionSelectView::MissionSelectView()
|
||||
: selected{nullptr}, selectedMission{MISSION_NONE} {}
|
||||
|
||||
void MissionSelectView::setupScreen() {
|
||||
MissionSelectViewBase::setupScreen();
|
||||
@ -10,14 +12,38 @@ void MissionSelectView::setupScreen() {
|
||||
autox.setUp(2, T_AUTOX);
|
||||
trackdrive.setUp(3, T_TRACKDRIVE);
|
||||
ebs.setUp(4, T_EBS);
|
||||
inspection.setUp(6, T_INSPECTION);
|
||||
manual.setUp(7, T_MANUAL);
|
||||
inspection.setUp(5, T_INSPECTION);
|
||||
manual.setUp(6, T_MANUAL);
|
||||
}
|
||||
|
||||
void MissionSelectView::tearDownScreen() {
|
||||
MissionSelectViewBase::tearDownScreen();
|
||||
}
|
||||
|
||||
void MissionSelectView::incMission() {
|
||||
int mission_int = static_cast<int>(selectedMission);
|
||||
mission_int++;
|
||||
// mission_int = 0 is MISSION_NONE, which we don't want to select.
|
||||
// NUM_MISSIONS is equal to the last mission, so check for strictly
|
||||
// greater.
|
||||
if (mission_int > NUM_MISSIONS) {
|
||||
mission_int = 1;
|
||||
}
|
||||
setSelectedMission(static_cast<Mission>(mission_int));
|
||||
}
|
||||
|
||||
void MissionSelectView::decMission() {
|
||||
int mission_int = static_cast<int>(selectedMission);
|
||||
mission_int--;
|
||||
// mission_int = 0 is MISSION_NONE, which we don't want to select.
|
||||
// NUM_MISSIONS is equal to the last mission, so check for strictly
|
||||
// greater.
|
||||
if (mission_int <= 0) {
|
||||
mission_int = NUM_MISSIONS;
|
||||
}
|
||||
setSelectedMission(static_cast<Mission>(mission_int));
|
||||
}
|
||||
|
||||
void MissionSelectView::setSelectedMission(Mission mission) {
|
||||
if (selected != nullptr) {
|
||||
selected->setSelected(false);
|
||||
@ -49,4 +75,5 @@ void MissionSelectView::setSelectedMission(Mission mission) {
|
||||
break;
|
||||
}
|
||||
selected->setSelected(true);
|
||||
selectedMission = mission;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user