1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
48
49
54
55
60
61
65
66
71
72
76
77
82
83
87
88
93
94
98
99
104
105
109
110
115
116
/* ... */
#include <new>
#include <gui/common/FrontendApplication.hpp>
#include <mvp/View.hpp>
#include <touchgfx/lcd/LCD.hpp>
#include <touchgfx/hal/HAL.hpp>
#include <touchgfx/transitions/NoTransition.hpp>
#include <touchgfx/transitions/SlideTransition.hpp>
#include <gui/menu_screen/MenuView.hpp>
#include <gui/menu_screen/MenuPresenter.hpp>
#include <gui/menu_screen/MenuView.hpp>
#include <gui/menu_screen/MenuPresenter.hpp>
#include <gui/home_automation_screen/HomeAutomationView.hpp>
#include <gui/home_automation_screen/HomeAutomationPresenter.hpp>
#include <gui/animated_graphics_screen/AnimatedGraphicsView.hpp>
#include <gui/animated_graphics_screen/AnimatedGraphicsPresenter.hpp>
#include <gui/live_data_display_screen/LiveDataDisplayView.hpp>
#include <gui/live_data_display_screen/LiveDataDisplayPresenter.hpp>
#include <gui/chrom_art_screen/ChromArtView.hpp>
#include <gui/chrom_art_screen/ChromArtPresenter.hpp>
#include <gui/common/FrontendHeap.hpp>
20 includes
FrontendApplication::FrontendApplication(Model& m, FrontendHeap& heap)
: MVPApplication(),
transitionCallback(),
frontendHeap(heap),
model(m)
{
}{ ... }
void FrontendApplication::handleTickEvent()
{
model.tick();
MVPApplication::handleTickEvent();
}{ ... }
void FrontendApplication::gotoMenuScreen()
{
transitionCallback = Callback< FrontendApplication >(this, &FrontendApplication::gotoMenuScreenImpl);
pendingScreenTransitionCallback = &transitionCallback;
}{ ... }
void FrontendApplication::gotoMenuScreenImpl()
{
makeTransition< MenuView, MenuPresenter, SlideTransition<WEST>, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
}{ ... }
void FrontendApplication::gotoMenuScreenNoAnimation()
{
transitionCallback = Callback< FrontendApplication >(this, &FrontendApplication::gotoMenuScreenNoAnimationImpl);
pendingScreenTransitionCallback = &transitionCallback;
}{ ... }
void FrontendApplication::gotoMenuScreenNoAnimationImpl()
{
makeTransition< MenuView, MenuPresenter, NoTransition, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
}{ ... }
void FrontendApplication::gotoHomeAutomationScreen()
{
transitionCallback = Callback< FrontendApplication >(this, &FrontendApplication::gotoHomeAutomationScreenImpl);
pendingScreenTransitionCallback = &transitionCallback;
}{ ... }
void FrontendApplication::gotoHomeAutomationScreenImpl()
{
makeTransition< HomeAutomationView, HomeAutomationPresenter, SlideTransition<NORTH>, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
}{ ... }
void FrontendApplication::gotoAnimatedGraphicsScreen()
{
transitionCallback = Callback< FrontendApplication >(this, &FrontendApplication::gotoAnimatedGraphicsScreenImpl);
pendingScreenTransitionCallback = &transitionCallback;
}{ ... }
void FrontendApplication::gotoAnimatedGraphicsScreenImpl()
{
makeTransition< AnimatedGraphicsView, AnimatedGraphicsPresenter, SlideTransition<WEST>, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
}{ ... }
void FrontendApplication::gotoLiveDataDisplayScreen()
{
transitionCallback = Callback< FrontendApplication >(this, &FrontendApplication::gotoLiveDataDisplayScreenImpl);
pendingScreenTransitionCallback = &transitionCallback;
}{ ... }
void FrontendApplication::gotoLiveDataDisplayScreenImpl()
{
makeTransition< LiveDataDisplayView, LiveDataDisplayPresenter, SlideTransition<SOUTH>, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
}{ ... }
void FrontendApplication::gotoChromArtScreen()
{
transitionCallback = Callback< FrontendApplication >(this, &FrontendApplication::gotoChromArtScreenImpl);
pendingScreenTransitionCallback = &transitionCallback;
}{ ... }
void FrontendApplication::gotoChromArtScreenImpl()
{
makeTransition< ChromArtView, ChromArtPresenter, SlideTransition<EAST>, Model >(¤tScreen, ¤tPresenter, frontendHeap, ¤tTransition, &model);
}{ ... }