Rose
RoseShell.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <memory>
11 #include "Rose.h"
12 #include "Timer.h"
13 #include "Button.h"
14 #include "Menu.h"
15 
23 };
24 
25 static constexpr std::array<rose::MenuButtonData,6> appMenu {
26  rose::MenuButtonData{ "Rose Demo", RoseButton },
27  rose::MenuButtonData{ "Conway's Life", LifeButton},
28  rose::MenuButtonData{ "Ham Clock", HamClockButton},
30  rose::MenuButtonData{ "Upgrade Software", UpgradeButton} ,
32 };
33 
34 
39 class RoseShell : public rose::Rose {
40 protected:
41  std::shared_ptr<rose::SecondTick> mSecondTick;
42  std::shared_ptr<rose::Slot<rose::Button::SignalType>> mMenuButtonRx;
43 
44 public:
45  RoseShell() = delete;
46  RoseShell(int argc, char **argv, std::string_view title);
47 
48  void build();
49 };
50 
Launch Rose Demo application.
Definition: RoseShell.h:17
UserSignalTokenValues
Definition: RoseShell.h:16
Upgrade the system software.
Definition: RoseShell.h:21
uint32_t SignalToken
A type definition for SignalToken used to identify the source of a Signal.
Definition: Types.h:53
The value that can be used for the first SignalToken of a user application.
Definition: Constants.h:61
Information to specify a Menu Button.
Definition: Menu.h:23
Exit RoseExec.
Definition: RoseShell.h:22
Launch HamChrono application.
Definition: RoseShell.h:20
Launch Ham Clock application.
Definition: RoseShell.h:19
Launch Conway&#39;s Game of Life.
Definition: RoseShell.h:18
A GUI Shell to select which application to run on the FrameBuffer.
Definition: RoseShell.h:39