2013-12-11 03:23:47 +00:00
|
|
|
#include "SystemView.h"
|
|
|
|
#include "../SystemData.h"
|
|
|
|
#include "../Renderer.h"
|
|
|
|
#include "../Log.h"
|
2013-12-24 17:50:26 +00:00
|
|
|
#include "../Window.h"
|
|
|
|
#include "ViewController.h"
|
2013-12-11 03:23:47 +00:00
|
|
|
|
|
|
|
SystemView::SystemView(Window* window, SystemData* system) : GuiComponent(window),
|
|
|
|
mSystem(system),
|
|
|
|
|
|
|
|
mHeaderImage(window),
|
|
|
|
mHeaderText(window),
|
2014-01-07 22:57:30 +00:00
|
|
|
mImage(window),
|
|
|
|
mExtras(window)
|
2013-12-11 03:23:47 +00:00
|
|
|
{
|
|
|
|
setSize((float)Renderer::getScreenWidth(), (float)Renderer::getScreenHeight());
|
|
|
|
|
|
|
|
mHeaderImage.setOrigin(0.5f, 0.0f);
|
|
|
|
mHeaderImage.setPosition(mSize.x() / 2, 0);
|
2014-01-10 23:45:47 +00:00
|
|
|
mHeaderImage.setResize(0, mSize.y() * 0.2f);
|
2013-12-11 03:23:47 +00:00
|
|
|
|
2013-12-12 19:17:03 +00:00
|
|
|
mHeaderText.setPosition(0, 6);
|
2013-12-11 03:23:47 +00:00
|
|
|
mHeaderText.setSize(mSize.x(), 0);
|
|
|
|
mHeaderText.setCentered(true);
|
|
|
|
|
|
|
|
mImage.setOrigin(0.5f, 0.5f);
|
2013-12-12 19:17:03 +00:00
|
|
|
mImage.setPosition(mSize.x() / 2, mSize.y() * 0.6f);
|
2014-01-10 23:45:47 +00:00
|
|
|
mImage.setResize(0, mSize.y() * 0.8f);
|
2013-12-11 03:23:47 +00:00
|
|
|
|
2014-01-07 22:57:30 +00:00
|
|
|
addChild(&mExtras);
|
2013-12-11 03:23:47 +00:00
|
|
|
addChild(&mImage);
|
|
|
|
addChild(&mHeaderText);
|
|
|
|
addChild(&mHeaderImage);
|
|
|
|
|
|
|
|
updateData();
|
|
|
|
}
|
|
|
|
|
|
|
|
void SystemView::updateData()
|
|
|
|
{
|
2013-12-30 23:23:34 +00:00
|
|
|
using namespace ThemeFlags;
|
|
|
|
|
2014-01-07 22:57:30 +00:00
|
|
|
mExtras.setExtras(ThemeData::makeExtras(mSystem->getTheme(), "system", mWindow));
|
|
|
|
|
2013-12-30 23:23:34 +00:00
|
|
|
mHeaderImage.setImage("");
|
2014-01-07 22:57:30 +00:00
|
|
|
mHeaderImage.applyTheme(mSystem->getTheme(), "system", "header", ALL);
|
2013-12-30 23:23:34 +00:00
|
|
|
|
2013-12-11 03:23:47 +00:00
|
|
|
// header
|
2013-12-30 23:23:34 +00:00
|
|
|
if(mHeaderImage.hasImage())
|
2013-12-11 03:23:47 +00:00
|
|
|
{
|
2013-12-30 23:23:34 +00:00
|
|
|
// use image
|
|
|
|
mHeaderText.setText("");
|
|
|
|
}else{
|
2013-12-11 03:23:47 +00:00
|
|
|
// use text
|
|
|
|
mHeaderImage.setImage("");
|
|
|
|
mHeaderText.setText(mSystem->getFullName());
|
|
|
|
}
|
|
|
|
|
2014-01-07 22:57:30 +00:00
|
|
|
mImage.applyTheme(mSystem->getTheme(), "system", "system", ALL);
|
2013-12-11 03:23:47 +00:00
|
|
|
}
|
2013-12-24 17:50:26 +00:00
|
|
|
|
|
|
|
bool SystemView::input(InputConfig* config, Input input)
|
|
|
|
{
|
|
|
|
if(input.value != 0)
|
|
|
|
{
|
|
|
|
if(config->isMappedTo("left", input))
|
|
|
|
{
|
|
|
|
mWindow->getViewController()->goToSystemView(mSystem->getPrev());
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if(config->isMappedTo("right", input))
|
|
|
|
{
|
|
|
|
mWindow->getViewController()->goToSystemView(mSystem->getNext());
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if(config->isMappedTo("a", input))
|
|
|
|
{
|
|
|
|
mWindow->getViewController()->goToGameList(mSystem);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return GuiComponent::input(config, input);
|
|
|
|
}
|