diff --git a/apps/graph/even_odd_cell.cpp b/apps/graph/even_odd_cell.cpp index f3b7ff255..2e832bc41 100644 --- a/apps/graph/even_odd_cell.cpp +++ b/apps/graph/even_odd_cell.cpp @@ -7,7 +7,7 @@ constexpr KDColor EvenOddCell::k_oddLineBackgroundColor; constexpr KDColor EvenOddCell::k_selectedLineBackgroundColor; EvenOddCell::EvenOddCell() : - ChildlessView(), + View(), m_highlighted(false), m_even(false) { diff --git a/apps/graph/even_odd_cell.h b/apps/graph/even_odd_cell.h index 5969cdd5f..f3df70d9d 100644 --- a/apps/graph/even_odd_cell.h +++ b/apps/graph/even_odd_cell.h @@ -5,7 +5,7 @@ namespace Graph { -class EvenOddCell : public ChildlessView { +class EvenOddCell : public View { public: EvenOddCell(); void setEven(bool even); diff --git a/apps/graph/graph/cursor_view.h b/apps/graph/graph/cursor_view.h index cab368585..c69a599c9 100644 --- a/apps/graph/graph/cursor_view.h +++ b/apps/graph/graph/cursor_view.h @@ -4,9 +4,9 @@ #include 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; }; diff --git a/apps/picview/pic_view.cpp b/apps/picview/pic_view.cpp index 7072be82c..a12779f97 100644 --- a/apps/picview/pic_view.cpp +++ b/apps/picview/pic_view.cpp @@ -2,7 +2,7 @@ #include PicView::PicView() : - ChildlessView() { + View() { } #include "image.c" diff --git a/apps/picview/pic_view.h b/apps/picview/pic_view.h index 2aaa7b2d7..2beb68f96 100644 --- a/apps/picview/pic_view.h +++ b/apps/picview/pic_view.h @@ -3,7 +3,7 @@ #include -class PicView : public ChildlessView { +class PicView : public View { public: PicView(); void drawRect(KDContext * ctx, KDRect rect) const override; diff --git a/escher/Makefile b/escher/Makefile index ceba1501f..6cc73a0a6 100644 --- a/escher/Makefile +++ b/escher/Makefile @@ -2,7 +2,6 @@ SFLAGS += -Iescher/include objs += $(addprefix escher/src/,\ app.o\ - childless_view.o\ buffer_text_view.o\ button.o\ container.o\ diff --git a/escher/include/escher/childless_view.h b/escher/include/escher/childless_view.h deleted file mode 100644 index e46d92a4e..000000000 --- a/escher/include/escher/childless_view.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef ESCHER_CHILDLESS_VIEW_H -#define ESCHER_CHILDLESS_VIEW_H - -#include - -class ChildlessView : public View { - using View::View; -private: - int numberOfSubviews() const override; - View * subviewAtIndex(int index) override; - void layoutSubviews() override; -}; - -#endif diff --git a/escher/include/escher/header_view_controller.h b/escher/include/escher/header_view_controller.h index 620e15b5b..75ec34816 100644 --- a/escher/include/escher/header_view_controller.h +++ b/escher/include/escher/header_view_controller.h @@ -2,7 +2,7 @@ #define HEADER_VIEW_CONTROLLER_H #include -#include +#include #include #include #include diff --git a/escher/include/escher/image_view.h b/escher/include/escher/image_view.h index 2d793229c..bd580092d 100644 --- a/escher/include/escher/image_view.h +++ b/escher/include/escher/image_view.h @@ -1,10 +1,10 @@ #ifndef ESCHER_IMAGE_VIEW_H #define ESCHER_IMAGE_VIEW_H -#include +#include #include -class ImageView : public ChildlessView { +class ImageView : public View { public: ImageView(); void setImage(const Image * image); diff --git a/escher/include/escher/scroll_view_indicator.h b/escher/include/escher/scroll_view_indicator.h index 0577bed55..b1e0756c9 100644 --- a/escher/include/escher/scroll_view_indicator.h +++ b/escher/include/escher/scroll_view_indicator.h @@ -1,9 +1,9 @@ #ifndef ESCHER_SCROLL_VIEW_INDICATOR_H #define ESCHER_SCROLL_VIEW_INDICATOR_H -#include +#include -class ScrollViewIndicator : public ChildlessView { +class ScrollViewIndicator : public View { public: enum class Direction { Horizontal, diff --git a/escher/include/escher/solid_color_view.h b/escher/include/escher/solid_color_view.h index 1c5a6bd3a..3c7e6fbea 100644 --- a/escher/include/escher/solid_color_view.h +++ b/escher/include/escher/solid_color_view.h @@ -1,9 +1,9 @@ #ifndef ESCHER_SOLID_COLOR_VIEW_H #define ESCHER_SOLID_COLOR_VIEW_H -#include +#include -class SolidColorView : public ChildlessView { +class SolidColorView : public View { public: SolidColorView(KDColor color); void drawRect(KDContext * ctx, KDRect rect) const override; diff --git a/escher/include/escher/stack_view.h b/escher/include/escher/stack_view.h index b965a5bae..fa4201107 100644 --- a/escher/include/escher/stack_view.h +++ b/escher/include/escher/stack_view.h @@ -1,9 +1,9 @@ #ifndef ESCHER_STACK_VIEW_H #define ESCHER_STACK_VIEW_H -#include +#include -class StackView : public ChildlessView { +class StackView : public View { public: StackView(); void drawRect(KDContext * ctx, KDRect rect) const override; diff --git a/escher/include/escher/switch_view.h b/escher/include/escher/switch_view.h index 75275a76a..577d06f90 100644 --- a/escher/include/escher/switch_view.h +++ b/escher/include/escher/switch_view.h @@ -1,9 +1,9 @@ #ifndef ESCHER_SWITCH_VIEW_H #define ESCHER_SWITCH_VIEW_H -#include +#include -class SwitchView : public ChildlessView { +class SwitchView : public View { public: SwitchView(); bool state(); diff --git a/escher/include/escher/tab_view_cell.h b/escher/include/escher/tab_view_cell.h index 4fa436e1c..edf31d93b 100644 --- a/escher/include/escher/tab_view_cell.h +++ b/escher/include/escher/tab_view_cell.h @@ -4,7 +4,7 @@ #include #include -class TabViewCell : public ChildlessView { +class TabViewCell : public View { public: TabViewCell(); void drawRect(KDContext * ctx, KDRect rect) const override; diff --git a/escher/include/escher/text_field.h b/escher/include/escher/text_field.h index 0f5342ab0..23aef242a 100644 --- a/escher/include/escher/text_field.h +++ b/escher/include/escher/text_field.h @@ -1,11 +1,11 @@ #ifndef ESCHER_TEXT_FIELD_H #define ESCHER_TEXT_FIELD_H -#include +#include #include #include -class TextField : public ChildlessView, public Responder { +class TextField : public View, public Responder { public: TextField(Responder * parentResponder, char * textBuffer, size_t textBufferSize); // View diff --git a/escher/include/escher/text_view.h b/escher/include/escher/text_view.h index aefa67321..0434e5dd1 100644 --- a/escher/include/escher/text_view.h +++ b/escher/include/escher/text_view.h @@ -1,10 +1,10 @@ #ifndef ESCHER_TEXT_VIEW_H #define ESCHER_TEXT_VIEW_H -#include +#include #include -class TextView : public ChildlessView { +class TextView : public View { public: TextView();//;: TextView(nullptr, 0.0f, 0.0f); // alignment = 0 -> align left or top diff --git a/escher/include/escher/view.h b/escher/include/escher/view.h index c6a004ca8..151809654 100644 --- a/escher/include/escher/view.h +++ b/escher/include/escher/view.h @@ -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; diff --git a/escher/src/childless_view.cpp b/escher/src/childless_view.cpp deleted file mode 100644 index 0f897798b..000000000 --- a/escher/src/childless_view.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include -extern "C" { -#include -} - -int ChildlessView::numberOfSubviews() const { - return 0; -} - -View * ChildlessView::subviewAtIndex(int index) { - assert(false); - return nullptr; -} - -void ChildlessView::layoutSubviews() { -} diff --git a/escher/src/image_view.cpp b/escher/src/image_view.cpp index 39192bcaa..97405ba78 100644 --- a/escher/src/image_view.cpp +++ b/escher/src/image_view.cpp @@ -4,7 +4,7 @@ extern "C" { } ImageView::ImageView() : - ChildlessView(), + View(), m_image(nullptr) { } diff --git a/escher/src/scroll_view_indicator.cpp b/escher/src/scroll_view_indicator.cpp index 0617edbbe..bd8605f72 100644 --- a/escher/src/scroll_view_indicator.cpp +++ b/escher/src/scroll_view_indicator.cpp @@ -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) diff --git a/escher/src/solid_color_view.cpp b/escher/src/solid_color_view.cpp index 9c2178bcf..cb6b15401 100644 --- a/escher/src/solid_color_view.cpp +++ b/escher/src/solid_color_view.cpp @@ -1,7 +1,7 @@ #include SolidColorView::SolidColorView(KDColor color) : - ChildlessView(), + View(), m_color(color) { } diff --git a/escher/src/stack_view.cpp b/escher/src/stack_view.cpp index 9f172990a..f9d963d61 100644 --- a/escher/src/stack_view.cpp +++ b/escher/src/stack_view.cpp @@ -4,7 +4,7 @@ extern "C" { } StackView::StackView() : - ChildlessView(), + View(), m_name(nullptr) { } diff --git a/escher/src/switch_view.cpp b/escher/src/switch_view.cpp index 1540bd1ab..ab71f8487 100644 --- a/escher/src/switch_view.cpp +++ b/escher/src/switch_view.cpp @@ -9,7 +9,7 @@ constexpr KDCoordinate SwitchView::k_separatorThickness; SwitchView::SwitchView() : -ChildlessView(), +View(), m_state(true) { } diff --git a/escher/src/tab_view_cell.cpp b/escher/src/tab_view_cell.cpp index 8143c832d..e0aa8dac6 100644 --- a/escher/src/tab_view_cell.cpp +++ b/escher/src/tab_view_cell.cpp @@ -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) diff --git a/escher/src/text_field.cpp b/escher/src/text_field.cpp index 092ff740a..3b87e5dbf 100644 --- a/escher/src/text_field.cpp +++ b/escher/src/text_field.cpp @@ -1,7 +1,7 @@ #include TextField::TextField(Responder * parentResponder, char * textBuffer, size_t textBufferSize) : - ChildlessView(), + View(), Responder(parentResponder), m_textBuffer(textBuffer), m_textBufferSize(textBufferSize), diff --git a/escher/src/text_view.cpp b/escher/src/text_view.cpp index 4434e9784..4ff614f1e 100644 --- a/escher/src/text_view.cpp +++ b/escher/src/text_view.cpp @@ -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), diff --git a/escher/src/view.cpp b/escher/src/view.cpp index 8e7546b11..0d21015ee 100644 --- a/escher/src/view.cpp +++ b/escher/src/view.cpp @@ -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";