Files
Upsilon/apps/sequence/list/sequence_toolbox.h
Émilie Feral 96733dbbdc [apps] Rule of 5 (3)
Change-Id: Ia85b23a09e9debd62b4f3590463a4f16454ef4b7
2017-05-09 14:33:53 +02:00

35 lines
1.1 KiB
C++

#ifndef SEQUENCE_SEQUENCE_TOOLBOX_H
#define SEQUENCE_SEQUENCE_TOOLBOX_H
#include "../../math_toolbox.h"
namespace Sequence {
class SequenceToolbox : public MathToolbox {
public:
SequenceToolbox();
~SequenceToolbox();
SequenceToolbox(const SequenceToolbox& other) = delete;
SequenceToolbox(SequenceToolbox&& other) = delete;
SequenceToolbox& operator=(const SequenceToolbox& other) = delete;
SequenceToolbox& operator=(SequenceToolbox&& other) = delete;
bool handleEvent(Ion::Events::Event event) override;
int numberOfRows() override;
HighlightCell * reusableCell(int index, int type) override;
void willDisplayCellForIndex(HighlightCell * cell, int index) override;
KDCoordinate rowHeight(int j) override;
int typeAtLocation(int i, int j) override;
void setExtraCells(const char * sequenceName, int recurrenceDepth);
private:
bool selectAddedCell(int selectedRow);
int mathToolboxIndex(int index);
constexpr static KDCoordinate k_addedRowHeight = 20;
ExpressionTableCell m_addedCells[k_maxNumberOfDisplayedRows];
Poincare::ExpressionLayout * m_addedCellLayout[k_maxNumberOfDisplayedRows];
int m_numberOfAddedCells;
};
}
#endif