Files
Upsilon/apps/shared/tab_table_controller.h
Émilie Feral 70fc734f7b [escher] Change dynamic view controller paradigm
Change-Id: I57fd41c9b9ad8a1e8b684b97fdf80ddffd71881d
2017-05-03 14:22:51 +02:00

36 lines
1.1 KiB
C++

#ifndef SHARED_TAB_TABLE_CONTROLLER_H
#define SHARED_TAB_TABLE_CONTROLLER_H
#include <escher.h>
namespace Shared {
/* Tab table controller is a controller whose view is a selectable table view
* and whose one ancestor is a tab */
class TabTableController : public DynamicViewController, public SelectableTableViewDelegate {
public:
TabTableController(Responder * parentResponder, TableViewDataSource * dataSource, KDCoordinate topMargin,
KDCoordinate rightMargin, KDCoordinate bottomMargin, KDCoordinate leftMargin, bool showIndicators);
void didBecomeFirstResponder() override;
void viewWillAppear() override;
void willExitResponderChain(Responder * nextFirstResponder) override;
protected:
SelectableTableView * selectableTableView();
View * loadView() override;
void unloadView(View * view) override;
virtual Responder * tabController() const = 0;
private:
TableViewDataSource * m_dataSource;
KDCoordinate m_topMargin;
KDCoordinate m_rightMargin;
KDCoordinate m_bottomMargin;
KDCoordinate m_leftMargin;
bool m_showIndicators;
};
}
#endif