multiple_data_view_controller.h
1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef STATISTICS_MULTIPLE_DATA_VIEW_CONTROLLER_H
#define STATISTICS_MULTIPLE_DATA_VIEW_CONTROLLER_H
#include <escher.h>
#include "store.h"
#include "multiple_data_view.h"
namespace Statistics {
class MultipleDataViewController : public ViewController, public AlternateEmptyViewDelegate {
public:
MultipleDataViewController(Responder * parentResponder, Store * store, int * m_selectedBarIndex, int * selectedSeriesIndex);
virtual MultipleDataView * multipleDataView() = 0;
int selectedSeriesIndex() const { return *m_selectedSeriesIndex; }
// AlternateEmptyViewDelegate
bool isEmpty() const override;
I18n::Message emptyMessage() override;
Responder * defaultController() override;
// ViewController
View * view() override { return multipleDataView(); }
void viewWillAppear() override;
// Responder
bool handleEvent(Ion::Events::Event event) override;
void didBecomeFirstResponder() override;
void willExitResponderChain(Responder * nextFirstResponder) override;
protected:
virtual Responder * tabController() const = 0;
virtual void reloadBannerView() = 0;
virtual bool moveSelectionHorizontally(int deltaIndex) = 0;
Store * m_store;
int * m_selectedSeriesIndex;
int * m_selectedBarIndex;
};
}
#endif