summaryrefslogtreecommitdiff
path: root/src/console/ConsoleView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/console/ConsoleView.cpp')
-rw-r--r--src/console/ConsoleView.cpp102
1 files changed, 0 insertions, 102 deletions
diff --git a/src/console/ConsoleView.cpp b/src/console/ConsoleView.cpp
deleted file mode 100644
index 9a51366..0000000
--- a/src/console/ConsoleView.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "ConsoleView.h"
-#include "interface/Keys.h"
-
-ConsoleView::ConsoleView():
- ui::Window(ui::Point(0, 0), ui::Point(XRES+BARSIZE, 150)),
- commandField(NULL)
-{
- class CommandHighlighter: public ui::TextboxAction
- {
- ConsoleView * v;
- public:
- CommandHighlighter(ConsoleView * v_) { v = v_; }
- virtual void TextChangedCallback(ui::Textbox * sender)
- {
- sender->SetDisplayText(v->c->FormatCommand(sender->GetText()));
- }
- };
- commandField = new ui::Textbox(ui::Point(0, Size.Y-16), ui::Point(Size.X, 16), "");
- commandField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
- commandField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- commandField->SetActionCallback(new CommandHighlighter(this));
- AddComponent(commandField);
- FocusComponent(commandField);
- commandField->SetBorder(false);
-}
-
-void ConsoleView::DoKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt)
-{
- switch(key)
- {
- case KEY_ESCAPE:
- case '`':
- if (character != '~')
- c->CloseConsole();
- else
- Window::DoKeyPress(key, character, shift, ctrl, alt);
- break;
- case KEY_RETURN:
- case KEY_ENTER:
- c->EvaluateCommand(commandField->GetText());
- commandField->SetText("");
- commandField->SetDisplayText("");
- break;
- case KEY_DOWN:
- c->NextCommand();
- break;
- case KEY_UP:
- c->PreviousCommand();
- break;
- default:
- Window::DoKeyPress(key, character, shift, ctrl, alt);
- break;
- }
-}
-
-void ConsoleView::NotifyPreviousCommandsChanged(ConsoleModel * sender)
-{
- for(int i = 0; i < commandList.size(); i++)
- {
- RemoveComponent(commandList[i]);
- delete commandList[i];
- }
- commandList.clear();
- std::deque<ConsoleCommand> commands = sender->GetPreviousCommands();
- int currentY = Size.Y - 32;
- if(commands.size())
- for(int i = commands.size()-1; i >= 0; i--)
- {
- if(currentY <= 0)
- break;
- ui::Label * tempLabel = new ui::Label(ui::Point(Size.X/2, currentY), ui::Point(Size.X/2, 16), commands[i].ReturnValue);
- tempLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- tempLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
- commandList.push_back(tempLabel);
- AddComponent(tempLabel);
- tempLabel = new ui::Label(ui::Point(0, currentY), ui::Point(Size.X/2, 16), commands[i].Command);
- tempLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- tempLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
- commandList.push_back(tempLabel);
- AddComponent(tempLabel);
- currentY-=16;
- }
-}
-
-void ConsoleView::NotifyCurrentCommandChanged(ConsoleModel * sender)
-{
- commandField->SetText(sender->GetCurrentCommand().Command);
- commandField->SetDisplayText(c->FormatCommand(commandField->GetText()));
-}
-
-
-void ConsoleView::OnDraw()
-{
- Graphics * g = ui::Engine::Ref().g;
- g->fillrect(Position.X, Position.Y, Size.X, Size.Y, 0, 0, 0, 110);
- g->draw_line(Position.X, Position.Y+Size.Y-16, Position.X+Size.X, Position.Y+Size.Y-16, 255, 255, 255, 160);
- g->draw_line(Position.X, Position.Y+Size.Y, Position.X+Size.X, Position.Y+Size.Y, 255, 255, 255, 200);
-}
-
-ConsoleView::~ConsoleView() {
-}
-