From 60cac1f9288091ff5f916c47321b42c600d0aa1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Thu, 16 Jan 2020 11:06:35 +0100 Subject: [PATCH] [apps] Add borders to VariableBoxEmptyController --- apps/variable_box_empty_controller.cpp | 14 +++++++++----- apps/variable_box_empty_controller.h | 9 +++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/apps/variable_box_empty_controller.cpp b/apps/variable_box_empty_controller.cpp index 6ceb2f452..9f96fd021 100644 --- a/apps/variable_box_empty_controller.cpp +++ b/apps/variable_box_empty_controller.cpp @@ -28,6 +28,10 @@ void VariableBoxEmptyController::VariableBoxEmptyView::setLayout(Poincare::Layou m_layoutExample.setLayout(layout); } +void VariableBoxEmptyController::VariableBoxEmptyView::drawRect(KDContext * ctx, KDRect rect) const { + drawBorderOfRect(ctx, bounds(), Palette::GreyBright); +} + int VariableBoxEmptyController::VariableBoxEmptyView::numberOfSubviews() const { return k_numberOfMessages+1; } @@ -43,19 +47,19 @@ View * VariableBoxEmptyController::VariableBoxEmptyView::subviewAtIndex(int inde } void VariableBoxEmptyController::VariableBoxEmptyView::layoutSubviews(bool force) { - KDCoordinate width = bounds().width(); - KDCoordinate height = bounds().height(); + KDCoordinate width = bounds().width() - 2*k_separatorThickness; + KDCoordinate height = bounds().height() - 2*k_separatorThickness; KDCoordinate textHeight = k_font->glyphSize().height(); KDCoordinate layoutHeight = m_layoutExample.minimalSizeForOptimalDisplay().height(); KDCoordinate margin = (height - k_numberOfMessages*textHeight-layoutHeight)/2; - m_layoutExample.setFrame(KDRect(0, margin+k_layoutRowIndex*textHeight, width, layoutHeight), force); - KDCoordinate currentHeight = 0; + m_layoutExample.setFrame(KDRect(k_separatorThickness, k_separatorThickness+margin+k_layoutRowIndex*textHeight, width, layoutHeight), force); + KDCoordinate currentHeight = k_separatorThickness; for (uint8_t i = 0; i < k_numberOfMessages; i++) { if (i == k_layoutRowIndex) { currentHeight += layoutHeight; } KDCoordinate h = i == 0 || i == k_numberOfMessages - 1 ? textHeight+margin : textHeight; - m_messages[i].setFrame(KDRect(0, currentHeight, width, h), force); + m_messages[i].setFrame(KDRect(k_separatorThickness, currentHeight, width, h), force); currentHeight += h; } } diff --git a/apps/variable_box_empty_controller.h b/apps/variable_box_empty_controller.h index 39719ab07..683c63a9b 100644 --- a/apps/variable_box_empty_controller.h +++ b/apps/variable_box_empty_controller.h @@ -1,7 +1,11 @@ #ifndef APPS_VARIABLE_BOX_EMPTY_CONTROLLER_H #define APPS_VARIABLE_BOX_EMPTY_CONTROLLER_H -#include +#include +#include +#include +#include +#include class VariableBoxEmptyController : public ViewController { public: @@ -18,12 +22,13 @@ public: void setType(Type type); private: - class VariableBoxEmptyView : public View { + class VariableBoxEmptyView : public View, public Bordered { public: static constexpr const KDFont * k_font = KDFont::SmallFont; VariableBoxEmptyView(); void setMessages(I18n::Message * message); void setLayout(Poincare::Layout layout); + void drawRect(KDContext * ctx, KDRect rect) const override; constexpr static int k_numberOfMessages = 4; private: int numberOfSubviews() const override;