[escher] Delete childless view and implement it as default view

Change-Id: I545c8270fc8235ee578b2237361df50c919d0b61
This commit is contained in:
Émilie Feral
2016-10-14 17:03:41 +02:00
parent c831468d55
commit a1b5d3d363
27 changed files with 46 additions and 64 deletions

View File

@@ -7,7 +7,7 @@ constexpr KDColor EvenOddCell::k_oddLineBackgroundColor;
constexpr KDColor EvenOddCell::k_selectedLineBackgroundColor;
EvenOddCell::EvenOddCell() :
ChildlessView(),
View(),
m_highlighted(false),
m_even(false)
{

View File

@@ -5,7 +5,7 @@
namespace Graph {
class EvenOddCell : public ChildlessView {
class EvenOddCell : public View {
public:
EvenOddCell();
void setEven(bool even);

View File

@@ -4,9 +4,9 @@
#include <escher.h>
namespace Graph {
class CursorView : public ChildlessView {
class CursorView : public View {
public:
using ChildlessView::ChildlessView;
using View::View;
void drawRect(KDContext * ctx, KDRect rect) const override;
};

View File

@@ -2,7 +2,7 @@
#include <assert.h>
PicView::PicView() :
ChildlessView() {
View() {
}
#include "image.c"

View File

@@ -3,7 +3,7 @@
#include <escher.h>
class PicView : public ChildlessView {
class PicView : public View {
public:
PicView();
void drawRect(KDContext * ctx, KDRect rect) const override;

View File

@@ -2,7 +2,6 @@ SFLAGS += -Iescher/include
objs += $(addprefix escher/src/,\
app.o\
childless_view.o\
buffer_text_view.o\
button.o\
container.o\

View File

@@ -1,14 +0,0 @@
#ifndef ESCHER_CHILDLESS_VIEW_H
#define ESCHER_CHILDLESS_VIEW_H
#include <escher/view.h>
class ChildlessView : public View {
using View::View;
private:
int numberOfSubviews() const override;
View * subviewAtIndex(int index) override;
void layoutSubviews() override;
};
#endif

View File

@@ -2,7 +2,7 @@
#define HEADER_VIEW_CONTROLLER_H
#include <escher/view_controller.h>
#include <escher/childless_view.h>
#include <escher/view.h>
#include <escher/invocation.h>
#include <escher/button.h>
#include <escher/app.h>

View File

@@ -1,10 +1,10 @@
#ifndef ESCHER_IMAGE_VIEW_H
#define ESCHER_IMAGE_VIEW_H
#include <escher/childless_view.h>
#include <escher/view.h>
#include <escher/image.h>
class ImageView : public ChildlessView {
class ImageView : public View {
public:
ImageView();
void setImage(const Image * image);

View File

@@ -1,9 +1,9 @@
#ifndef ESCHER_SCROLL_VIEW_INDICATOR_H
#define ESCHER_SCROLL_VIEW_INDICATOR_H
#include <escher/childless_view.h>
#include <escher/view.h>
class ScrollViewIndicator : public ChildlessView {
class ScrollViewIndicator : public View {
public:
enum class Direction {
Horizontal,

View File

@@ -1,9 +1,9 @@
#ifndef ESCHER_SOLID_COLOR_VIEW_H
#define ESCHER_SOLID_COLOR_VIEW_H
#include <escher/childless_view.h>
#include <escher/view.h>
class SolidColorView : public ChildlessView {
class SolidColorView : public View {
public:
SolidColorView(KDColor color);
void drawRect(KDContext * ctx, KDRect rect) const override;

View File

@@ -1,9 +1,9 @@
#ifndef ESCHER_STACK_VIEW_H
#define ESCHER_STACK_VIEW_H
#include <escher/childless_view.h>
#include <escher/view.h>
class StackView : public ChildlessView {
class StackView : public View {
public:
StackView();
void drawRect(KDContext * ctx, KDRect rect) const override;

View File

@@ -1,9 +1,9 @@
#ifndef ESCHER_SWITCH_VIEW_H
#define ESCHER_SWITCH_VIEW_H
#include <escher/childless_view.h>
#include <escher/view.h>
class SwitchView : public ChildlessView {
class SwitchView : public View {
public:
SwitchView();
bool state();

View File

@@ -4,7 +4,7 @@
#include <escher/view.h>
#include <escher/text_view.h>
class TabViewCell : public ChildlessView {
class TabViewCell : public View {
public:
TabViewCell();
void drawRect(KDContext * ctx, KDRect rect) const override;

View File

@@ -1,11 +1,11 @@
#ifndef ESCHER_TEXT_FIELD_H
#define ESCHER_TEXT_FIELD_H
#include <escher/childless_view.h>
#include <escher/view.h>
#include <escher/responder.h>
#include <string.h>
class TextField : public ChildlessView, public Responder {
class TextField : public View, public Responder {
public:
TextField(Responder * parentResponder, char * textBuffer, size_t textBufferSize);
// View

View File

@@ -1,10 +1,10 @@
#ifndef ESCHER_TEXT_VIEW_H
#define ESCHER_TEXT_VIEW_H
#include <escher/childless_view.h>
#include <escher/view.h>
#include <kandinsky/color.h>
class TextView : public ChildlessView {
class TextView : public View {
public:
TextView();//;: TextView(nullptr, 0.0f, 0.0f);
// alignment = 0 -> align left or top

View File

@@ -59,9 +59,9 @@ protected:
#endif
KDRect m_frame;
private:
virtual int numberOfSubviews() const = 0;
virtual View * subviewAtIndex(int index) = 0;
virtual void layoutSubviews() = 0;
virtual int numberOfSubviews() const;
virtual View * subviewAtIndex(int index);
virtual void layoutSubviews();
virtual const Window * window() const;
KDRect redraw(KDRect rect, KDRect forceRedrawRect = KDRectZero);
KDPoint absoluteOrigin() const;

View File

@@ -1,16 +0,0 @@
#include <escher/childless_view.h>
extern "C" {
#include <assert.h>
}
int ChildlessView::numberOfSubviews() const {
return 0;
}
View * ChildlessView::subviewAtIndex(int index) {
assert(false);
return nullptr;
}
void ChildlessView::layoutSubviews() {
}

View File

@@ -4,7 +4,7 @@ extern "C" {
}
ImageView::ImageView() :
ChildlessView(),
View(),
m_image(nullptr)
{
}

View File

@@ -7,7 +7,7 @@ constexpr KDColor k_backgroundColor = KDColorBlack;
constexpr KDColor k_indicatorColor = KDColorRed;
ScrollViewIndicator::ScrollViewIndicator(ScrollViewIndicator::Direction direction) :
ChildlessView(),
View(),
m_direction(direction),
m_start(0),
m_end(0)

View File

@@ -1,7 +1,7 @@
#include <escher/solid_color_view.h>
SolidColorView::SolidColorView(KDColor color) :
ChildlessView(),
View(),
m_color(color)
{
}

View File

@@ -4,7 +4,7 @@ extern "C" {
}
StackView::StackView() :
ChildlessView(),
View(),
m_name(nullptr)
{
}

View File

@@ -9,7 +9,7 @@ constexpr KDCoordinate SwitchView::k_separatorThickness;
SwitchView::SwitchView() :
ChildlessView(),
View(),
m_state(true)
{
}

View File

@@ -8,7 +8,7 @@ constexpr KDColor TabViewCell::k_selectedTabColor;
constexpr KDColor TabViewCell::k_separatorTabColor;
TabViewCell::TabViewCell() :
ChildlessView(),
View(),
m_active(false),
m_selected(false),
m_name(nullptr)

View File

@@ -1,7 +1,7 @@
#include <escher/text_field.h>
TextField::TextField(Responder * parentResponder, char * textBuffer, size_t textBufferSize) :
ChildlessView(),
View(),
Responder(parentResponder),
m_textBuffer(textBuffer),
m_textBufferSize(textBufferSize),

View File

@@ -6,7 +6,7 @@ TextView::TextView() : TextView(0.0f, 0.0f, KDColorBlack, KDColorWhite)
TextView::TextView(float horizontalAlignment, float verticalAlignment,
KDColor textColor, KDColor backgroundColor) :
ChildlessView(),
View(),
m_horizontalAlignment(horizontalAlignment),
m_verticalAlignment(verticalAlignment),
m_textColor(textColor),

View File

@@ -167,6 +167,19 @@ KDSize View::minimalSizeForOptimalDisplay() {
return KDSizeZero;
}
int View::numberOfSubviews() const {
return 0;
}
View * View::subviewAtIndex(int index) {
assert(false);
return nullptr;
}
void View::layoutSubviews() {
}
#if ESCHER_VIEW_LOGGING
const char * View::className() const {
return "View";