WSelectList::WSelectList()
{
- numOptions = 0;
selectedOption = 0;
topOption = 0;
numOptionsDisplayable = 0;
void WSelectList::clear()
{
- for (int i = 0; i < numOptions; i++)
+ int vsize = options.size();
+ for (int i = 0; i < vsize; i++)
{
delete[] options[i];
}
+ options.clear();
- numOptions = 0;
selectedOption = 0;
topOption = 0;
numOptionsDisplayable = 0;
void WSelectList::hintSetCurrent(int index)
{
selectedOption = index;
- if (selectedOption >= numOptions) selectedOption = numOptions - 1;
+ if (selectedOption >= options.size()) selectedOption = options.size() - 1;
}
void WSelectList::hintSetTop(int index)
int WSelectList::addOption(char* text, int selected)
{
- int thisNewOption = numOptions;
+ int thisNewOption = options.size();
int length = strlen(text);
- options[thisNewOption] = new char[length + 1];
+ options.push_back(new char[length + 1]);
strcpy(options[thisNewOption], text);
if (selected) selectedOption = thisNewOption;
- numOptions++;
return thisNewOption;
}
fillColour(Colour::VIEWBACKGROUND);
int ypos = 5;
- for (int i = topOption; i < (topOption + numOptionsDisplayable); i++)
+ for (UINT i = topOption; i < (topOption + numOptionsDisplayable); i++)
{
- if (i == numOptions) return;
+ if (i == options.size()) return;
if ((ypos + ySeperation) > height) break;
if (i == selectedOption)
}
else
{
- selectedOption = numOptions - 1;
+ selectedOption = options.size() - 1;
}
}
void WSelectList::down()
{
- if (selectedOption < numOptions - 1)
+ if (selectedOption < options.size() - 1)
{
selectedOption++;
}
void WSelectList::pageDown()
{
- if ((topOption + numOptionsDisplayable) >= numOptions) return;
+ if ((topOption + numOptionsDisplayable) >= options.size()) return;
topOption += numOptionsDisplayable;
selectedOption = topOption;
int WSelectList::getNumOptions()
{
- return numOptions;
+ return options.size();
}
int WSelectList::getBottomOption()
{
- int retval = topOption + numOptionsDisplayable;
- if (retval > numOptions) return numOptions;
+ UINT retval = topOption + numOptionsDisplayable;
+ if (retval > options.size()) return options.size();
else return retval;
}