#include "MenuItem.h" #include "Arduino.h" MenuItem::MenuItem() { } MenuItem::MenuItem(const char* name) { MenuItem::name = name; MenuItem::parent = NULL; MenuItem::next = NULL; } MenuItem* MenuItem::goBack() { return MenuItem::parent; } MenuItem* MenuItem::goDown() { return MenuItem::next; } MenuItem* MenuItem::goRight() { return NULL; } String MenuItem::display() { return "t " + String(MenuItem::name); } BranchMenuItem::BranchMenuItem(const char* name, const MenuItem* child) { BranchMenuItem::name = name; BranchMenuItem::child = child; } MenuItem* BranchMenuItem::goRight() { return BranchMenuItem::child; } String BranchMenuItem::display() { return String(BranchMenuItem::name) + " ->"; } IntValueItem::IntValueItem(char const* name, int initial) { IntValueItem::name = name; IntValueItem::value = initial; } MenuItem* IntValueItem::goRight() { // increment IntValueItem::value++; } String IntValueItem::display() { return String(IntValueItem::name) + ": " + String(IntValueItem::value); } BoolValueItem::BoolValueItem(char const* name, bool initial) { BoolValueItem::name = name; BoolValueItem::value = initial; } MenuItem* BoolValueItem::goRight() { // toggle BoolValueItem::value = !BoolValueItem::value; return NULL; } String BoolValueItem::display() { return String(BoolValueItem::name) + ": " + (BoolValueItem::value ? "true" : "false"); }