Files
Upsilon/apps/math_toolbox.h
Gabriel Ozouf 2e2845370a [apps/math_toolbox] Add fork nodes in tree
Some nodes of the ToolboxMessageTree can be marked as "forks",
dispatching one branch or the other depending on preferences.
They are used in the Unit menu to provide a different toolbox depending
on the unit system.

Change-Id: I591f7abc3d24e682e827a540a9defac1877871b5
2020-11-04 15:33:02 +01:00

25 lines
725 B
C++

#ifndef APPS_MATH_TOOLBOX_H
#define APPS_MATH_TOOLBOX_H
#include <escher.h>
#include <apps/i18n.h>
class MathToolbox : public Toolbox {
public:
MathToolbox();
protected:
bool selectLeaf(int selectedRow) override;
const ToolboxMessageTree * rootModel() const override;
MessageTableCellWithMessage * leafCellAtIndex(int index) override;
MessageTableCellWithChevron* nodeCellAtIndex(int index) override;
int maxNumberOfDisplayedRows() override;
constexpr static int k_maxNumberOfDisplayedRows = 6; // = 240/40
private:
int indexAfterFork() const override;
MessageTableCellWithMessage m_leafCells[k_maxNumberOfDisplayedRows];
MessageTableCellWithChevron m_nodeCells[k_maxNumberOfDisplayedRows];
};
#endif