Files
Upsilon/apps/statistics/box_view.h
Émilie Feral 82e212e771 [poincare] Template for double
Change-Id: I7404bd5cefc9ef78a5dbd572c3874a557cded28e
2017-08-16 09:55:29 +02:00

39 lines
936 B
C++

#ifndef STATISTICS_BOX_VIEW_H
#define STATISTICS_BOX_VIEW_H
#include <escher.h>
#include "store.h"
#include "box_range.h"
#include "../constant.h"
#include "../shared/curve_view.h"
namespace Statistics {
class BoxView : public Shared::CurveView {
public:
enum class Quantile : int {
None = -1,
Min = 0,
FirstQuartile = 1,
Median = 2,
ThirdQuartile = 3,
Max = 4
};
BoxView(Store * store, Shared::BannerView * bannerView, Quantile * selectedQuantile);
void reload() override;
Quantile selectedQuantile();
bool selectQuantile(int selectedQuantile);
void drawRect(KDContext * ctx, KDRect rect) const override;
private:
char * label(Axis axis, int index) const override;
Store * m_store;
BoxRange m_boxRange;
char m_labels[k_maxNumberOfXLabels][Poincare::PrintFloat::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits)];
Quantile * m_selectedQuantile;
};
}
#endif