[apps/escher] Move ModalViewEmptyController to escher

This commit is contained in:
Léa Saviot
2020-04-30 15:10:57 +02:00
committed by Émilie Feral
parent 645a55284f
commit f306b51fc5
8 changed files with 29 additions and 30 deletions

View File

@@ -39,7 +39,6 @@ apps_src += $(addprefix apps/,\
shift_alpha_lock_view.cpp \
suspend_timer.cpp \
title_bar_view.cpp \
variable_box_empty_controller.cpp \
)
tests_src += apps/exam_mode_configuration_official.cpp

View File

@@ -4,7 +4,7 @@
namespace Code {
VariableBoxEmptyController::VariableBoxEmptyView::VariableBoxEmptyView() :
::VariableBoxEmptyController::VariableBoxEmptyView()
::ModalViewEmptyController::ModalViewEmptyView()
{
initMessageViews();
m_message.setMessage(I18n::Message::NoWordAvailableHere);

View File

@@ -1,20 +1,20 @@
#ifndef APPS_CODE_VARIABLE_BOX_EMPTY_CONTROLLER_H
#define APPS_CODE_VARIABLE_BOX_EMPTY_CONTROLLER_H
#include <apps/variable_box_empty_controller.h>
#include <escher/modal_view_empty_controller.h>
namespace Code {
class VariableBoxEmptyController : public ::VariableBoxEmptyController {
class VariableBoxEmptyController : public ModalViewEmptyController {
public:
VariableBoxEmptyController() :
::VariableBoxEmptyController(),
ModalViewEmptyController(),
m_view()
{}
// View Controller
View * view() override { return &m_view; }
private:
class VariableBoxEmptyView : public ::VariableBoxEmptyController::VariableBoxEmptyView {
class VariableBoxEmptyView : public ModalViewEmptyController::ModalViewEmptyView {
public:
constexpr static int k_numberOfMessages = 1;
VariableBoxEmptyView();

View File

@@ -4,7 +4,7 @@
#include <assert.h>
MathVariableBoxEmptyController::MathVariableBoxEmptyView::MathVariableBoxEmptyView() :
VariableBoxEmptyView(),
ModalViewEmptyView(),
m_layoutExample(0.5f, 0.5f, KDColorBlack, Palette::WallScreen)
{
initMessageViews();

View File

@@ -1,13 +1,13 @@
#ifndef APPS_MATH_VARIABLE_BOX_EMPTY_CONTROLLER_H
#define APPS_MATH_VARIABLE_BOX_EMPTY_CONTROLLER_H
#include <escher/modal_view_empty_controller.h>
#include <poincare/layout.h>
#include "variable_box_empty_controller.h"
class MathVariableBoxEmptyController : public VariableBoxEmptyController {
class MathVariableBoxEmptyController : public ModalViewEmptyController {
public:
MathVariableBoxEmptyController() :
VariableBoxEmptyController(),
ModalViewEmptyController(),
m_view()
{}
enum class Type {
@@ -20,7 +20,7 @@ public:
View * view() override { return &m_view; }
void viewDidDisappear() override;
private:
class MathVariableBoxEmptyView : public VariableBoxEmptyView {
class MathVariableBoxEmptyView : public ModalViewEmptyController::ModalViewEmptyView {
public:
constexpr static int k_numberOfMessages = 4;
MathVariableBoxEmptyView();

View File

@@ -47,6 +47,7 @@ escher_src += $(addprefix escher/src/,\
message_text_view.cpp \
metric.cpp \
modal_view_controller.cpp \
modal_view_empty_controller.cpp \
nested_menu_controller.cpp \
palette.cpp \
pointer_text_view.cpp \

View File

@@ -1,19 +1,19 @@
#ifndef APPS_VARIABLE_BOX_EMPTY_CONTROLLER_H
#define APPS_VARIABLE_BOX_EMPTY_CONTROLLER_H
#ifndef ESCHER_EMPTY_MODAL_VIEW_EMPTY_CONTROLLER_H
#define ESCHER_EMPTY_MODAL_VIEW_EMPTY_CONTROLLER_H
#include <escher/bordered.h>
#include <escher/expression_view.h>
#include <escher/message_text_view.h>
#include <escher/view_controller.h>
class VariableBoxEmptyController : public ViewController {
class ModalViewEmptyController : public ViewController {
public:
VariableBoxEmptyController() : ViewController(nullptr) {}
ModalViewEmptyController() : ViewController(nullptr) {}
void setMessages(I18n::Message * messages);
// View Controller
DisplayParameter displayParameter() override { return DisplayParameter::DoNotShowOwnTitle; }
protected:
class VariableBoxEmptyView : public View, public Bordered {
class ModalViewEmptyView : public View, public Bordered {
public:
constexpr static const KDFont * k_font = KDFont::SmallFont;
void initMessageViews();
@@ -28,7 +28,7 @@ protected:
virtual int numberOfMessageTextViews() const = 0;
virtual MessageTextView * messageTextViewAtIndex(int index) = 0;
bool hasExpressionView() const {
return const_cast<VariableBoxEmptyView *>(this)->expressionView() != nullptr;
return const_cast<ModalViewEmptyView *>(this)->expressionView() != nullptr;
}
virtual ExpressionView * expressionView() { return nullptr; }
};

View File

@@ -1,12 +1,11 @@
#include "variable_box_empty_controller.h"
#include <poincare/layout_helper.h>
#include <escher/modal_view_empty_controller.h>
#include <apps/i18n.h>
#include <assert.h>
const KDColor VariableBoxEmptyController::VariableBoxEmptyView::k_backgroundColor;
const KDColor ModalViewEmptyController::ModalViewEmptyView::k_backgroundColor;
// VariableBoxEmptyController::VariableBoxEmptyView
void VariableBoxEmptyController::VariableBoxEmptyView::initMessageViews() {
// ModalViewEmptyController::ModalViewEmptyView
void ModalViewEmptyController::ModalViewEmptyView::initMessageViews() {
const int numberOfMessageViews = numberOfMessageTextViews();
for (int i = 0; i < numberOfMessageViews; i++) {
MessageTextView * message = messageTextViewAtIndex(i);
@@ -22,23 +21,23 @@ void VariableBoxEmptyController::VariableBoxEmptyView::initMessageViews() {
}
}
void VariableBoxEmptyController::VariableBoxEmptyView::setMessages(I18n::Message * message) {
void ModalViewEmptyController::ModalViewEmptyView::setMessages(I18n::Message * message) {
const int numberOfMessageViews = numberOfMessageTextViews();
for (int i = 0; i < numberOfMessageViews; i++) {
messageTextViewAtIndex(i)->setMessage(message[i]);
}
}
void VariableBoxEmptyController::VariableBoxEmptyView::drawRect(KDContext * ctx, KDRect rect) const {
void ModalViewEmptyController::ModalViewEmptyView::drawRect(KDContext * ctx, KDRect rect) const {
ctx->fillRect(bounds(), k_backgroundColor);
drawBorderOfRect(ctx, bounds(), Palette::GreyBright);
}
int VariableBoxEmptyController::VariableBoxEmptyView::numberOfSubviews() const {
int ModalViewEmptyController::ModalViewEmptyView::numberOfSubviews() const {
return numberOfMessageTextViews() + hasExpressionView();
}
View * VariableBoxEmptyController::VariableBoxEmptyView::subviewAtIndex(int index) {
View * ModalViewEmptyController::ModalViewEmptyView::subviewAtIndex(int index) {
if (hasExpressionView()) {
if (index == k_expressionViewRowIndex) {
return expressionView();
@@ -48,7 +47,7 @@ View * VariableBoxEmptyController::VariableBoxEmptyView::subviewAtIndex(int inde
return messageTextViewAtIndex(index);
}
void VariableBoxEmptyController::VariableBoxEmptyView::layoutSubviews(bool force) {
void ModalViewEmptyController::ModalViewEmptyView::layoutSubviews(bool force) {
const int numberOfMessageViews = numberOfMessageTextViews();
const bool hasExpression = hasExpressionView();
KDCoordinate width = bounds().width() - 2 * k_separatorThickness;
@@ -75,8 +74,8 @@ void VariableBoxEmptyController::VariableBoxEmptyView::layoutSubviews(bool force
}
}
// VariableBoxEmptyController
// ModalViewEmptyController
void VariableBoxEmptyController::setMessages(I18n::Message * messages) {
static_cast<VariableBoxEmptyView *>(view())->setMessages(messages);
void ModalViewEmptyController::setMessages(I18n::Message * messages) {
static_cast<ModalViewEmptyView *>(view())->setMessages(messages);
}