summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-05-13 19:54:29 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-05-13 19:54:29 (GMT)
commit41e1d28c56b6e4b9b380022e9220161c57612006 (patch)
treec21a061f94ba1a8282b1ef962ca7d9affe68ccc8 /src
parent7758fe52cb9ef78b562bc2587b17b6344d8829fe (diff)
downloadpowder-41e1d28c56b6e4b9b380022e9220161c57612006.zip
powder-41e1d28c56b6e4b9b380022e9220161c57612006.tar.gz
Correct air include path for OptionsModel, correct Window debugmode logic, justifications for sign
Diffstat (limited to 'src')
-rw-r--r--src/game/SignTool.cpp13
-rw-r--r--src/interface/DropDown.cpp12
-rw-r--r--src/interface/DropDown.h1
-rw-r--r--src/interface/Window.cpp3
-rw-r--r--src/options/OptionsModel.cpp2
5 files changed, 26 insertions, 5 deletions
diff --git a/src/game/SignTool.cpp b/src/game/SignTool.cpp
index fa004a8..7f28b5e 100644
--- a/src/game/SignTool.cpp
+++ b/src/game/SignTool.cpp
@@ -5,10 +5,12 @@
#include "interface/Button.h"
#include "interface/Label.h"
#include "interface/Textbox.h"
+#include "interface/DropDown.h"
class SignWindow: public ui::Window
{
public:
+ ui::DropDown * justification;
ui::Textbox * textField;
SignTool * tool;
Simulation * sim;
@@ -29,11 +31,11 @@ public:
ui::Engine::Ref().CloseWindow();
if(prompt->signID==-1 && prompt->textField->GetText().length())
{
- prompt->sim->signs.push_back(sign(prompt->textField->GetText(), prompt->signPosition.X, prompt->signPosition.Y, sign::Left));
+ prompt->sim->signs.push_back(sign(prompt->textField->GetText(), prompt->signPosition.X, prompt->signPosition.Y, (sign::Justification)prompt->justification->GetOption().second));
}
else if(prompt->textField->GetText().length())
{
- prompt->sim->signs[prompt->signID] = sign(sign(prompt->textField->GetText(), prompt->signPosition.X, prompt->signPosition.Y, sign::Left));
+ prompt->sim->signs[prompt->signID] = sign(sign(prompt->textField->GetText(), prompt->signPosition.X, prompt->signPosition.Y, (sign::Justification)prompt->justification->GetOption().second));
}
prompt->SelfDestruct();
}
@@ -56,6 +58,13 @@ SignWindow::SignWindow(SignTool * tool_, Simulation * sim_, int signID_, ui::Poi
okayButton->SetActionCallback(new OkayAction(this));
AddComponent(okayButton);
+ justification = new ui::DropDown(ui::Point(4, 18), ui::Point(50, 16));
+ AddComponent(justification);
+ justification->AddOption(std::pair<std::string, int>("Left", (int)sign::Left));
+ justification->AddOption(std::pair<std::string, int>("Centre", (int)sign::Centre));
+ justification->AddOption(std::pair<std::string, int>("Right", (int)sign::Right));
+ justification->SetOption(0);
+
textField = new ui::Textbox(ui::Point(4, 32), ui::Point(Size.X-8, 16), "");
textField->SetAlignment(AlignLeft, AlignBottom);
AddComponent(textField);
diff --git a/src/interface/DropDown.cpp b/src/interface/DropDown.cpp
index ea7d56a..d5af4c4 100644
--- a/src/interface/DropDown.cpp
+++ b/src/interface/DropDown.cpp
@@ -79,7 +79,8 @@ public:
DropDown::DropDown(Point position, Point size):
Component(position, size),
isMouseInside(false),
- optionIndex(-1)
+ optionIndex(-1),
+ callback(NULL)
{
background = activeBackground = Colour(0, 0, 0);
activeText = text = activeBackground = border = activeBorder = Colour(255, 255, 255);
@@ -114,6 +115,15 @@ void DropDown::Draw(const Point& screenPos)
}
+ std::pair<std::string, int> DropDown::GetOption()
+ {
+ if(optionIndex!=-1)
+ {
+ return options[optionIndex];
+ }
+ return std::pair<std::string, int>("", -1);
+ }
+
void DropDown::SetOption(std::string option)
{
for(int i = 0; i < options.size(); i++)
diff --git a/src/interface/DropDown.h b/src/interface/DropDown.h
index 34310df..40fac68 100644
--- a/src/interface/DropDown.h
+++ b/src/interface/DropDown.h
@@ -33,6 +33,7 @@ class DropDown: public ui::Component {
std::vector<std::pair<std::string, int> > options;
public:
DropDown(Point position, Point size);
+ std::pair<std::string, int> GetOption();
void SetOption(int option);
void SetOption(std::string option);
void AddOption(std::pair<std::string, int> option);
diff --git a/src/interface/Window.cpp b/src/interface/Window.cpp
index 86221ab..8dba69a 100644
--- a/src/interface/Window.cpp
+++ b/src/interface/Window.cpp
@@ -1,3 +1,4 @@
+#include <iostream>
#include "Window.h"
#include "Component.h"
#include "interface/Point.h"
@@ -209,7 +210,7 @@ void Window::DoTick(float dt)
void Window::DoKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt)
{
#ifdef DEBUG
- if(character = 'd' && ctrl && shift)
+ if(key == KEY_TAB && ctrl)
debugMode = !debugMode;
if(debugMode)
{
diff --git a/src/options/OptionsModel.cpp b/src/options/OptionsModel.cpp
index 3891d41..b24a513 100644
--- a/src/options/OptionsModel.cpp
+++ b/src/options/OptionsModel.cpp
@@ -5,7 +5,7 @@
* Author: Simon
*/
-#include "Air.h"
+#include "simulation/Air.h"
#include "OptionsModel.h"
OptionsModel::OptionsModel(Simulation * sim_) {