Add base scaffolding for new Agenda application
This commit is contained in:
parent
373289c072
commit
72a020127f
@ -39,7 +39,9 @@ namespace Pinetime {
|
|||||||
SettingChimes,
|
SettingChimes,
|
||||||
SettingShakeThreshold,
|
SettingShakeThreshold,
|
||||||
SettingBluetooth,
|
SettingBluetooth,
|
||||||
Error
|
Error,
|
||||||
|
// oli: custom
|
||||||
|
Agenda
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,8 @@
|
|||||||
#include "displayapp/screens/PassKey.h"
|
#include "displayapp/screens/PassKey.h"
|
||||||
#include "displayapp/screens/Error.h"
|
#include "displayapp/screens/Error.h"
|
||||||
|
|
||||||
|
#include "displayapp/screens/Agenda.h"
|
||||||
|
|
||||||
#include "drivers/Cst816s.h"
|
#include "drivers/Cst816s.h"
|
||||||
#include "drivers/St7789.h"
|
#include "drivers/St7789.h"
|
||||||
#include "drivers/Watchdog.h"
|
#include "drivers/Watchdog.h"
|
||||||
@ -474,6 +476,10 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction)
|
|||||||
case Apps::Steps:
|
case Apps::Steps:
|
||||||
currentScreen = std::make_unique<Screens::Steps>(this, motionController, settingsController);
|
currentScreen = std::make_unique<Screens::Steps>(this, motionController, settingsController);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Apps::Agenda:
|
||||||
|
currentScreen = std::make_unique<Screens::Agenda>(this);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
currentApp = app;
|
currentApp = app;
|
||||||
}
|
}
|
||||||
|
15
src/displayapp/screens/Agenda.cpp
Normal file
15
src/displayapp/screens/Agenda.cpp
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#include "displayapp/screens/Agenda.h"
|
||||||
|
#include "displayapp/DisplayApp.h"
|
||||||
|
|
||||||
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
Agenda::Agenda(DisplayApp* app) : Screen(app) {
|
||||||
|
lv_obj_t* title = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_label_set_text_static(title, "My test application");
|
||||||
|
lv_label_set_align(title, LV_LABEL_ALIGN_CENTER);
|
||||||
|
lv_obj_align(title, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Agenda::~Agenda() {
|
||||||
|
lv_obj_clean(lv_scr_act());
|
||||||
|
}
|
16
src/displayapp/screens/Agenda.h
Normal file
16
src/displayapp/screens/Agenda.h
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "displayapp/screens/Screen.h"
|
||||||
|
#include <lvgl/lvgl.h>
|
||||||
|
|
||||||
|
namespace Pinetime {
|
||||||
|
namespace Applications {
|
||||||
|
namespace Screens {
|
||||||
|
class Agenda : public Screen {
|
||||||
|
public:
|
||||||
|
Agenda(DisplayApp* app);
|
||||||
|
~Agenda() override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -25,6 +25,9 @@ ApplicationList::ApplicationList(Pinetime::Applications::DisplayApp* app,
|
|||||||
[this]() -> std::unique_ptr<Screen> {
|
[this]() -> std::unique_ptr<Screen> {
|
||||||
return CreateScreen2();
|
return CreateScreen2();
|
||||||
},
|
},
|
||||||
|
[this]() -> std::unique_ptr<Screen> {
|
||||||
|
return CreateScreen3();
|
||||||
|
},
|
||||||
//[this]() -> std::unique_ptr<Screen> { return CreateScreen3(); }
|
//[this]() -> std::unique_ptr<Screen> { return CreateScreen3(); }
|
||||||
},
|
},
|
||||||
Screens::ScreenListModes::UpDown} {
|
Screens::ScreenListModes::UpDown} {
|
||||||
@ -48,7 +51,7 @@ std::unique_ptr<Screen> ApplicationList::CreateScreen1() {
|
|||||||
{Symbols::music, Apps::Music},
|
{Symbols::music, Apps::Music},
|
||||||
}};
|
}};
|
||||||
|
|
||||||
return std::make_unique<Screens::Tile>(0, 2, app, settingsController, batteryController, dateTimeController, applications);
|
return std::make_unique<Screens::Tile>(0, 3, app, settingsController, batteryController, dateTimeController, applications);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<Screen> ApplicationList::CreateScreen2() {
|
std::unique_ptr<Screen> ApplicationList::CreateScreen2() {
|
||||||
@ -61,7 +64,20 @@ std::unique_ptr<Screen> ApplicationList::CreateScreen2() {
|
|||||||
{Symbols::map, Apps::Navigation},
|
{Symbols::map, Apps::Navigation},
|
||||||
}};
|
}};
|
||||||
|
|
||||||
return std::make_unique<Screens::Tile>(1, 2, app, settingsController, batteryController, dateTimeController, applications);
|
return std::make_unique<Screens::Tile>(1, 3, app, settingsController, batteryController, dateTimeController, applications);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<Screen> ApplicationList::CreateScreen3() {
|
||||||
|
std::array<Screens::Tile::Applications, 6> applications {{
|
||||||
|
{"A", Apps::Agenda},
|
||||||
|
{".", Apps::Paddle},
|
||||||
|
{".", Apps::Twos},
|
||||||
|
{".", Apps::Motion},
|
||||||
|
{".", Apps::Metronome},
|
||||||
|
{".", Apps::Navigation},
|
||||||
|
}};
|
||||||
|
|
||||||
|
return std::make_unique<Screens::Tile>(2, 3, app, settingsController, batteryController, dateTimeController, applications);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*std::unique_ptr<Screen> ApplicationList::CreateScreen3() {
|
/*std::unique_ptr<Screen> ApplicationList::CreateScreen3() {
|
||||||
|
@ -25,10 +25,10 @@ namespace Pinetime {
|
|||||||
Pinetime::Controllers::Battery& batteryController;
|
Pinetime::Controllers::Battery& batteryController;
|
||||||
Controllers::DateTime& dateTimeController;
|
Controllers::DateTime& dateTimeController;
|
||||||
|
|
||||||
ScreenList<2> screens;
|
ScreenList<3> screens;
|
||||||
std::unique_ptr<Screen> CreateScreen1();
|
std::unique_ptr<Screen> CreateScreen1();
|
||||||
std::unique_ptr<Screen> CreateScreen2();
|
std::unique_ptr<Screen> CreateScreen2();
|
||||||
// std::unique_ptr<Screen> CreateScreen3();
|
std::unique_ptr<Screen> CreateScreen3();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user