Files
Upsilon/apps/probability/image_table_view.h
Émilie Feral 4602acf2b6 [apps/probability] Tidy calculation subclasses in a folder
Change-Id: I75cfdb11128b06961fc53288cd121799f6e31002
2016-12-16 15:11:39 +01:00

55 lines
1.7 KiB
C++

#ifndef PROBABILITY_IMAGE_TABLE_VIEW_H
#define PROBABILITY_IMAGE_TABLE_VIEW_H
#include <escher.h>
#include "calculation/calculation.h"
namespace Probability {
class CalculationController;
class ImageTableView : public View, public Responder, public SimpleListViewDataSource {
public:
ImageTableView(Responder * parentResponder, Calculation * calculation, CalculationController * calculationController);
void setCalculation(Calculation * calculation);
bool handleEvent(Ion::Events::Event event) override;
void didBecomeFirstResponder() override;
void select(bool select);
void setHighlight(bool highlight);
int numberOfRows() override;
void willDisplayCellForIndex(TableViewCell * cell, int index) override;
KDCoordinate cellHeight() override;
TableViewCell * reusableCell(int index) override;
int reusableCellCount() override;
constexpr static KDCoordinate k_imageWidth = 35;
constexpr static KDCoordinate k_imageHeight = 19;
private:
int numberOfSubviews() const override;
View * subviewAtIndex(int index) override;
void layoutSubviews() override;
void setCalculationAccordingToIndex(int index);
class ImageCell : public TableViewCell {
public:
ImageCell();
void reloadCell() override;
void setImage(const Image * image, const Image * focusedImage);
private:
int numberOfSubviews() const override;
View * subviewAtIndex(int index) override;
void layoutSubviews() override;
ImageView m_iconView;
const Image * m_icon;
const Image * m_focusedIcon;
};
constexpr static int k_numberOfImages = 3;
ImageCell m_imageCells[k_numberOfImages];
SelectableTableView m_selectableTableView;
bool m_isSelected;
Calculation * m_calculation;
CalculationController * m_calculationController;
};
}
#endif