rk3399_arm_lvds/motorcontroller/Menu.cpp

52 lines
799 B
C++
Raw Permalink Normal View History

2024-03-05 03:46:18 +00:00
#include "Menu.h"
Menu::Menu(const char *const name,DisType dt) : name_(name)
{
}
Menu::~Menu()
{
std::cout << "Menu " << name_ << " destroyed" << std::endl;
for (auto &item : menu_items)
{
item.reset();
}
}
string Menu::get_name()
{
return name_;
}
int Menu::select()
{
int ret = -1;
int choice;
int count = 0;
for (auto &item : menu_items)
{
std::cout << item->get_name() << " : " << count++ << std::endl;
}
if (choice >= 0 && choice <= menu_items.size())
{
ret = menu_items[choice]->select();
// if(!ret)
// g_call();
}
count = 0;
choice = 0;
return ret;
}
void Menu::add_menu_item(unique_ptr<Selectable> menu_item)
{
menu_items.push_back(std::move(menu_item));
}