Add AMI screen

This commit is contained in:
2023-03-07 22:35:12 +01:00
parent d26339e265
commit 81b7a23a34
43 changed files with 1447 additions and 45 deletions

View File

@ -0,0 +1,36 @@
#ifndef AMIPRESENTER_HPP
#define AMIPRESENTER_HPP
#include <gui/model/ModelListener.hpp>
#include <mvp/Presenter.hpp>
using namespace touchgfx;
class AMIView;
class AMIPresenter : public touchgfx::Presenter, public ModelListener
{
public:
AMIPresenter(AMIView& v);
/**
* The activate function is called automatically when this screen is "switched in"
* (ie. made active). Initialization logic can be placed here.
*/
virtual void activate();
/**
* The deactivate function is called automatically when this screen is "switched out"
* (ie. made inactive). Teardown functionality can be placed here.
*/
virtual void deactivate();
virtual ~AMIPresenter() {};
private:
AMIPresenter();
AMIView& view;
};
#endif // AMIPRESENTER_HPP

View File

@ -0,0 +1,21 @@
#ifndef AMIVIEW_HPP
#define AMIVIEW_HPP
#include "stw_defines.h"
#include <gui/ami_screen/AMIPresenter.hpp>
#include <gui_generated/ami_screen/AMIViewBase.hpp>
class AMIView : public AMIViewBase {
public:
AMIView();
virtual ~AMIView() {}
virtual void setupScreen();
virtual void tearDownScreen();
void setMission(Mission mission);
protected:
};
#endif // AMIVIEW_HPP

View File

@ -28,6 +28,8 @@ public:
virtual ~MissionSelectPresenter(){};
void confirmMission(Mission mission);
private:
MissionSelectPresenter();

View File

@ -9,13 +9,14 @@ class MissionSelectView : public MissionSelectViewBase {
public:
MissionSelectView();
virtual ~MissionSelectView() {}
virtual void setupScreen();
virtual void tearDownScreen();
virtual void setupScreen() override;
virtual void tearDownScreen() override;
void setSelectedMission(Mission mission);
virtual void incMission();
virtual void decMission();
virtual void incMission() override;
virtual void decMission() override;
virtual void confirmMission() override;
protected:
private:

View File

@ -12,8 +12,14 @@ public:
void tick();
void setMission(Mission mission) { this->mission = mission; }
Mission getMission() { return mission; }
protected:
ModelListener *modelListener;
private:
Mission mission;
};
#endif // MODEL_HPP