mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[usb] USB aplication that displays the link to the workshop.
Change-Id: I8458fe2a7f1eb4f04fc63f9e0b49d251c20f4cb6
This commit is contained in:
@@ -2,6 +2,7 @@ include apps/shared/Makefile
|
||||
include apps/home/Makefile
|
||||
include apps/on_boarding/Makefile
|
||||
include apps/hardware_test/Makefile
|
||||
include apps/usb/Makefile
|
||||
snapshots =
|
||||
|
||||
# All selected apps are included. Each Makefile below is responsible for setting
|
||||
|
||||
13
apps/usb/Makefile
Normal file
13
apps/usb/Makefile
Normal file
@@ -0,0 +1,13 @@
|
||||
app_objs += $(addprefix apps/usb/,\
|
||||
app.o\
|
||||
usb_connected_controller.o\
|
||||
)
|
||||
|
||||
i18n_files += $(addprefix apps/usb/,\
|
||||
base.de.i18n\
|
||||
base.en.i18n\
|
||||
base.es.i18n\
|
||||
base.fr.i18n\
|
||||
base.pt.i18n\
|
||||
base.universal.i18n\
|
||||
)
|
||||
33
apps/usb/app.cpp
Normal file
33
apps/usb/app.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "app.h"
|
||||
#include "../apps_container.h"
|
||||
#include <assert.h>
|
||||
|
||||
namespace USB {
|
||||
|
||||
I18n::Message App::Descriptor::name() {
|
||||
return upperName();
|
||||
}
|
||||
|
||||
I18n::Message App::Descriptor::upperName() {
|
||||
return I18n::Message::USBAppCapital;
|
||||
}
|
||||
|
||||
App * App::Snapshot::unpack(Container * container) {
|
||||
return new App(container, this);
|
||||
}
|
||||
|
||||
App::Descriptor * App::Snapshot::descriptor() {
|
||||
static Descriptor descriptor;
|
||||
return &descriptor;
|
||||
}
|
||||
|
||||
App::App(Container * container, Snapshot * snapshot) :
|
||||
::App(container, snapshot, &m_usbConnectedController)
|
||||
{
|
||||
}
|
||||
|
||||
bool App::processEvent(Ion::Events::Event e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
29
apps/usb/app.h
Normal file
29
apps/usb/app.h
Normal file
@@ -0,0 +1,29 @@
|
||||
#ifndef USB_APP_H
|
||||
#define USB_APP_H
|
||||
|
||||
#include "escher/include/escher/app.h"
|
||||
#include "usb_connected_controller.h"
|
||||
|
||||
namespace USB {
|
||||
|
||||
class App : public ::App {
|
||||
public:
|
||||
class Descriptor : public ::App::Descriptor {
|
||||
public:
|
||||
I18n::Message name() override;
|
||||
I18n::Message upperName() override;
|
||||
};
|
||||
class Snapshot : public ::App::Snapshot {
|
||||
public:
|
||||
App * unpack(Container * container) override;
|
||||
Descriptor * descriptor() override;
|
||||
};
|
||||
bool processEvent(Ion::Events::Event) override;
|
||||
private:
|
||||
App(Container * container, Snapshot * snapshot);
|
||||
USBConnectedController m_usbConnectedController;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
7
apps/usb/base.de.i18n
Normal file
7
apps/usb/base.de.i18n
Normal file
@@ -0,0 +1,7 @@
|
||||
USBConnected = "VOTRE CALCULATRICE EST CONNECTEE"
|
||||
ConnectedMessage1 = "Pour transferer des donnees connectez-"
|
||||
ConnectedMessage2 = "vous depuis votre ordinateur sur le site"
|
||||
ConnectedMessage3 = "workshop.numworks.com"
|
||||
ConnectedMessage4 = "Appuyez sur la touche RETOUR de la"
|
||||
ConnectedMessage5 = "calculatrice ou debranchez-la pour la"
|
||||
ConnectedMessage6 = "deconnecter."
|
||||
7
apps/usb/base.en.i18n
Normal file
7
apps/usb/base.en.i18n
Normal file
@@ -0,0 +1,7 @@
|
||||
USBConnected = "VOTRE CALCULATRICE EST CONNECTEE"
|
||||
ConnectedMessage1 = "Pour transferer des donnees connectez-"
|
||||
ConnectedMessage2 = "vous depuis votre ordinateur sur le site"
|
||||
ConnectedMessage3 = "workshop.numworks.com"
|
||||
ConnectedMessage4 = "Appuyez sur la touche RETOUR de la"
|
||||
ConnectedMessage5 = "calculatrice ou debranchez-la pour la"
|
||||
ConnectedMessage6 = "deconnecter."
|
||||
7
apps/usb/base.es.i18n
Normal file
7
apps/usb/base.es.i18n
Normal file
@@ -0,0 +1,7 @@
|
||||
USBConnected = "VOTRE CALCULATRICE EST CONNECTEE"
|
||||
ConnectedMessage1 = "Pour transferer des donnees connectez-"
|
||||
ConnectedMessage2 = "vous depuis votre ordinateur sur le site"
|
||||
ConnectedMessage3 = "workshop.numworks.com"
|
||||
ConnectedMessage4 = "Appuyez sur la touche RETOUR de la"
|
||||
ConnectedMessage5 = "calculatrice ou debranchez-la pour la"
|
||||
ConnectedMessage6 = "deconnecter."
|
||||
7
apps/usb/base.fr.i18n
Normal file
7
apps/usb/base.fr.i18n
Normal file
@@ -0,0 +1,7 @@
|
||||
USBConnected = "VOTRE CALCULATRICE EST CONNECTEE"
|
||||
ConnectedMessage1 = "Pour transferer des donnees connectez-"
|
||||
ConnectedMessage2 = "vous depuis votre ordinateur sur le site"
|
||||
ConnectedMessage3 = "workshop.numworks.com"
|
||||
ConnectedMessage4 = "Appuyez sur la touche RETOUR de la"
|
||||
ConnectedMessage5 = "calculatrice ou debranchez-la pour la"
|
||||
ConnectedMessage6 = "deconnecter."
|
||||
7
apps/usb/base.pt.i18n
Normal file
7
apps/usb/base.pt.i18n
Normal file
@@ -0,0 +1,7 @@
|
||||
USBConnected = "VOTRE CALCULATRICE EST CONNECTEE"
|
||||
ConnectedMessage1 = "Pour transferer des donnees connectez-"
|
||||
ConnectedMessage2 = "vous depuis votre ordinateur sur le site"
|
||||
ConnectedMessage3 = "workshop.numworks.com"
|
||||
ConnectedMessage4 = "Appuyez sur la touche RETOUR de la"
|
||||
ConnectedMessage5 = "calculatrice ou debranchez-la pour la"
|
||||
ConnectedMessage6 = "deconnecter."
|
||||
1
apps/usb/base.universal.i18n
Normal file
1
apps/usb/base.universal.i18n
Normal file
@@ -0,0 +1 @@
|
||||
USBAppCapital = "USB"
|
||||
81
apps/usb/usb_connected_controller.cpp
Normal file
81
apps/usb/usb_connected_controller.cpp
Normal file
@@ -0,0 +1,81 @@
|
||||
#include "usb_connected_controller.h"
|
||||
#include "../apps_container.h"
|
||||
#include <assert.h>
|
||||
|
||||
namespace USB {
|
||||
|
||||
static I18n::Message sUSBConnectedMessages[] = {
|
||||
I18n::Message::USBConnected,
|
||||
I18n::Message::ConnectedMessage1,
|
||||
I18n::Message::ConnectedMessage2,
|
||||
I18n::Message::ConnectedMessage3,
|
||||
I18n::Message::ConnectedMessage4,
|
||||
I18n::Message::ConnectedMessage5,
|
||||
I18n::Message::ConnectedMessage6};
|
||||
|
||||
static KDColor sUSBConnectedColors[] = {
|
||||
KDColorBlack,
|
||||
KDColorBlack,
|
||||
KDColorBlack,
|
||||
Palette::YellowDark,
|
||||
KDColorBlack,
|
||||
KDColorBlack,
|
||||
KDColorBlack};
|
||||
|
||||
USBConnectedController::ContentView::ContentView(I18n::Message * messages, KDColor * colors) :
|
||||
m_titleTextView(KDText::FontSize::Large, messages[0], 0.5f, 0.5f, colors[0]),
|
||||
m_messageTextView1(KDText::FontSize::Small, messages[1], 0.5f, 0.5f, colors[1]),
|
||||
m_messageTextView2(KDText::FontSize::Small, messages[2], 0.5f, 0.5f, colors[2]),
|
||||
m_messageTextView3(KDText::FontSize::Small, messages[3], 0.5f, 0.5f, colors[3]),
|
||||
m_messageTextView4(KDText::FontSize::Small, messages[4], 0.5f, 0.5f, colors[4]),
|
||||
m_messageTextView5(KDText::FontSize::Small, messages[5], 0.5f, 0.5f, colors[5]),
|
||||
m_messageTextView6(KDText::FontSize::Small, messages[6], 0.5f, 0.5f, colors[6])
|
||||
{
|
||||
}
|
||||
|
||||
void USBConnectedController::ContentView::drawRect(KDContext * ctx, KDRect rect) const {
|
||||
ctx->fillRect(bounds(), KDColorWhite);
|
||||
}
|
||||
|
||||
View * USBConnectedController::ContentView::subviewAtIndex(int index) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
return &m_titleTextView;
|
||||
case 1:
|
||||
return &m_messageTextView1;
|
||||
case 2:
|
||||
return &m_messageTextView2;
|
||||
case 3:
|
||||
return &m_messageTextView3;
|
||||
case 4:
|
||||
return &m_messageTextView4;
|
||||
case 5:
|
||||
return &m_messageTextView5;
|
||||
case 6:
|
||||
return &m_messageTextView6;
|
||||
default:
|
||||
assert(false);
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void USBConnectedController::ContentView::layoutSubviews() {
|
||||
KDCoordinate width = bounds().width();
|
||||
KDCoordinate titleHeight = m_titleTextView.minimalSizeForOptimalDisplay().height();
|
||||
KDCoordinate textHeight = KDText::charSize(KDText::FontSize::Small).height();
|
||||
m_titleTextView.setFrame(KDRect(0, k_titleMargin, width, titleHeight));
|
||||
m_messageTextView1.setFrame(KDRect(0, k_paragraphHeight, width, textHeight));
|
||||
m_messageTextView2.setFrame(KDRect(0, k_paragraphHeight+textHeight, width, textHeight));
|
||||
m_messageTextView3.setFrame(KDRect(0, k_paragraphHeight+2*textHeight, width, textHeight));
|
||||
m_messageTextView4.setFrame(KDRect(0, k_paragraphHeight+3*textHeight+k_paragraphMargin, width, textHeight));
|
||||
m_messageTextView5.setFrame(KDRect(0, k_paragraphHeight+4*textHeight+k_paragraphMargin, width, textHeight));
|
||||
m_messageTextView6.setFrame(KDRect(0, k_paragraphHeight+5*textHeight+k_paragraphMargin, width, textHeight));
|
||||
}
|
||||
|
||||
USBConnectedController::USBConnectedController() :
|
||||
ViewController(nullptr),
|
||||
m_contentView(sUSBConnectedMessages, sUSBConnectedColors)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
39
apps/usb/usb_connected_controller.h
Normal file
39
apps/usb/usb_connected_controller.h
Normal file
@@ -0,0 +1,39 @@
|
||||
#ifndef USB_USB_CONNECTED_CONTROLLER_H
|
||||
#define USB_USB_CONNECTED_CONTROLLER_H
|
||||
|
||||
#include <escher.h>
|
||||
|
||||
namespace USB {
|
||||
|
||||
class USBConnectedController : public ViewController {
|
||||
public:
|
||||
USBConnectedController();
|
||||
View * view() override { return &m_contentView; }
|
||||
bool handleEvent(Ion::Events::Event event) override { return false; }
|
||||
private:
|
||||
class ContentView : public View {
|
||||
public:
|
||||
ContentView(I18n::Message * messages, KDColor * colors);
|
||||
void drawRect(KDContext * ctx, KDRect rect) const override;
|
||||
private:
|
||||
constexpr static KDCoordinate k_titleMargin = 40;
|
||||
constexpr static KDCoordinate k_paragraphHeight = 100;
|
||||
constexpr static KDCoordinate k_paragraphMargin = 13;
|
||||
int numberOfSubviews() const override { return 7; }
|
||||
View * subviewAtIndex(int index) override;
|
||||
void layoutSubviews() override;
|
||||
MessageTextView m_titleTextView;
|
||||
MessageTextView m_messageTextView1;
|
||||
MessageTextView m_messageTextView2;
|
||||
MessageTextView m_messageTextView3;
|
||||
MessageTextView m_messageTextView4;
|
||||
MessageTextView m_messageTextView5;
|
||||
MessageTextView m_messageTextView6;
|
||||
};
|
||||
ContentView m_contentView;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user