1
0
Fork 0
flightgear/src/GUI/AirportList.cxx
ehofman 5bc15d7a69 Durk Talsma:
I just heard from John Wojnaroski that you and he are going to work on getting
a flightgear demo machine up for the linux expo thursday and Friday. John
indicated that he would very much like to get a CVS version with the new
traffic code up and running before the expo.
2005-02-10 09:01:51 +00:00

50 lines
1.2 KiB
C++

#include <string.h> // strncpy()
#include <Main/globals.hxx>
#include <Airports/simple.hxx>
#include "AirportList.hxx"
AirportList::AirportList (int x, int y, int width, int height)
: puList(x, y, width, height)
{
char buf[1024];
_airports = globals->get_airports();
_nAirports = _airports->size();
_content = new char *[_nAirports+1];
for (int i = 0; i < _nAirports; i++) {
const FGAirport *airport = _airports->getAirport(i);
snprintf(buf, 1023, "%s %s",
airport->getId().c_str(),
airport->getName().c_str());
unsigned int buf_len = (strlen(buf) > 1023) ? 1023 : strlen(buf);
_content[i] = new char[buf_len+1];
memcpy(_content[i], buf, buf_len);
_content[i][buf_len] = '\0';
}
_content[_nAirports] = 0;
newList(_content);
}
AirportList::~AirportList ()
{
for (int i = 0; i < _nAirports; i++) {
delete _content[i];
_content[i] = 0;
}
delete [] _content;
}
char *
AirportList::getListStringValue ()
{
return (char *)_airports->getAirport(getListIntegerValue())->getId().c_str();
}
// end of AirportList.cxx