2 Copyright 2004-2005 Chris Tallon
4 This file is part of VOMP.
6 VOMP is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 VOMP is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with VOMP; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #include "woptionbox.h"
23 WOptionBox::WOptionBox()
31 WOptionBox::~WOptionBox()
35 for(UINT i = 0; i < numOptions; i++) delete[] options[i];
39 void WOptionBox::addOption(const char* takeText)
41 int length = strlen(takeText);
42 char* newOption = new char[length + 1];
43 strcpy(newOption, takeText);
45 Log::getInstance()->log("Temp", Log::DEBUG, "About to realloc, num Options=%i, current options = %p, new text = %s", numOptions, options, newOption);
47 options = (char**)realloc(options, (numOptions+1) * sizeof(char*));
48 Log::getInstance()->log("Temp", Log::DEBUG, "");
50 options[numOptions] = newOption;
55 void WOptionBox::setActive(UCHAR tactive)
60 void WOptionBox::draw()
64 fillColour(Colour::SELECTHIGHLIGHT);
65 drawText(options[currentOption], 0, 0, Colour::DARKTEXT);
69 fillColour(Colour::BUTTONBACKGROUND);
70 drawText(options[currentOption], 0, 0, Colour::LIGHTTEXT);
74 void WOptionBox::left()
76 if (currentOption == 0) return;
80 void WOptionBox::right()
82 if (currentOption == (numOptions - 1)) return;
86 void WOptionBox::cycle()
88 if (currentOption == (numOptions - 1))
98 void WOptionBox::setSelected(const char* toSelect)
100 for(UINT i = 0; i < numOptions; i++)
102 if (!strcmp(toSelect, options[i]))
111 char* WOptionBox::getSelected()
113 return options[currentOption];
116 int WOptionBox::getSelectedIndex()
118 return currentOption;