2012-08-02 04:03:15 +00:00
|
|
|
#include "GuiMenu.h"
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
GuiMenu::GuiMenu(GuiComponent* parent)
|
|
|
|
{
|
|
|
|
mParent = parent;
|
|
|
|
parent->pause();
|
|
|
|
|
2012-08-04 21:38:37 +00:00
|
|
|
mList = new GuiList<std::string>(0, Renderer::getFontHeight(Renderer::LARGE) + 2, Renderer::LARGE);
|
|
|
|
populateList();
|
2012-08-02 04:03:15 +00:00
|
|
|
addChild(mList);
|
|
|
|
|
|
|
|
mSkippedMenuClose = false;
|
|
|
|
|
|
|
|
Renderer::registerComponent(this);
|
|
|
|
InputManager::registerComponent(this);
|
2012-08-04 21:38:37 +00:00
|
|
|
|
2012-08-02 04:03:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
GuiMenu::~GuiMenu()
|
|
|
|
{
|
|
|
|
Renderer::unregisterComponent(this);
|
|
|
|
InputManager::unregisterComponent(this);
|
|
|
|
|
|
|
|
delete mList;
|
|
|
|
mParent->resume();
|
|
|
|
}
|
|
|
|
|
|
|
|
void GuiMenu::onInput(InputManager::InputButton button, bool keyDown)
|
|
|
|
{
|
|
|
|
if(button == InputManager::MENU && !keyDown)
|
|
|
|
{
|
|
|
|
if(!mSkippedMenuClose)
|
|
|
|
{
|
|
|
|
mSkippedMenuClose = true;
|
|
|
|
}else{
|
|
|
|
delete this;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
2012-08-02 04:50:18 +00:00
|
|
|
|
|
|
|
if(button == InputManager::BUTTON1 && keyDown)
|
|
|
|
{
|
|
|
|
system(mList->getSelectedObject().c_str());
|
|
|
|
}
|
2012-08-02 04:03:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void GuiMenu::populateList()
|
|
|
|
{
|
2012-08-02 04:50:18 +00:00
|
|
|
mList->clear();
|
2012-08-02 04:03:15 +00:00
|
|
|
|
2012-08-04 21:38:37 +00:00
|
|
|
mList->addObject("Restart", "sudo shutdown -r now", 0x0000FF);
|
|
|
|
mList->addObject("Shutdown", "sudo shutdown -h now", 0x0000FF);
|
2012-08-02 04:03:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void GuiMenu::onRender()
|
|
|
|
{
|
2012-08-16 15:26:36 +00:00
|
|
|
Renderer::drawRect(Renderer::getScreenWidth() * 0.25, 0, Renderer::getScreenWidth() * 0.5, Renderer::getScreenHeight(), 0x999999);
|
2012-08-02 04:03:15 +00:00
|
|
|
}
|