Files
Upsilon/apps/statistics/multiple_boxes_view.h
Ruben Dashyan 07a9116147 [apps/statistics] Remove public MultipleDataView::editableBannerView() getter
Instead use existing protected virtual bannerView() getter. The reason
why both existed is that one was const but not the other. A const
variant is needed only exceptionally: in bannerFrame() which is called
by drawRect().
Moreover, bannerView() is virtual and is overridden in its derived
classes using co-variant return types. That fact is important in the
following commit.
2019-05-03 15:54:21 +02:00

41 lines
962 B
C++

#ifndef STATISTICS_MULTIPLE_BOXES_VIEW_H
#define STATISTICS_MULTIPLE_BOXES_VIEW_H
#include <escher.h>
#include "store.h"
#include "box_axis_view.h"
#include "box_banner_view.h"
#include "box_view.h"
#include "multiple_data_view.h"
namespace Statistics {
class BoxController;
class MultipleBoxesView : public MultipleDataView {
public:
MultipleBoxesView(Store * store, BoxView::Quantile * selectedQuantile);
// MultipleDataView
int seriesOfSubviewAtIndex(int index) override;
BoxBannerView * bannerView() override { return &m_bannerView; }
BoxView * dataViewAtIndex(int index) override;
void layoutDataSubviews() override;
void reload() override;
// View
int numberOfSubviews() const override;
View * subviewAtIndex(int index) override;
private:
static constexpr KDCoordinate k_axisViewHeight = 21;
BoxView m_boxView1;
BoxView m_boxView2;
BoxView m_boxView3;
BoxAxisView m_axisView;
BoxBannerView m_bannerView;
};
}
#endif