Commit d542a9f1 authored by Lorenz Meier's avatar Lorenz Meier

Update airframe meta handler

parent 815fa1e4
...@@ -30,6 +30,7 @@ QMap<QString, AirframeComponentAirframes::AirframeType_t*> AirframeComponentAirf ...@@ -30,6 +30,7 @@ QMap<QString, AirframeComponentAirframes::AirframeType_t*> AirframeComponentAirf
QMap<QString, AirframeComponentAirframes::AirframeType_t*>& AirframeComponentAirframes::get() { QMap<QString, AirframeComponentAirframes::AirframeType_t*>& AirframeComponentAirframes::get() {
#if 0
// Set a single airframe to prevent the UI from going crazy // Set a single airframe to prevent the UI from going crazy
if (rgAirframeTypes.count() == 0) { if (rgAirframeTypes.count() == 0) {
// Standard planes // Standard planes
...@@ -45,18 +46,39 @@ QMap<QString, AirframeComponentAirframes::AirframeType_t*>& AirframeComponentAir ...@@ -45,18 +46,39 @@ QMap<QString, AirframeComponentAirframes::AirframeType_t*>& AirframeComponentAir
// Flying wings // Flying wings
} }
#endif
return rgAirframeTypes; return rgAirframeTypes;
} }
void AirframeComponentAirframes::insert(QString& group, QString& image, QString& name, int id)
{
AirframeType_t *g;
if (!rgAirframeTypes.contains(group)) {
g = new AirframeType_t;
g->name = group;
g->imageResource = QString("qrc:/qmlimages/").append(image);
qDebug() << "IMAGE:" << g->imageResource;
rgAirframeTypes.insert(group, g);
} else {
g = rgAirframeTypes.value(group);
}
AirframeInfo_t *i = new AirframeInfo_t;
i->name = name;
i->autostartId = id;
g->rgAirframeInfo.append(i);
}
void AirframeComponentAirframes::clear() { void AirframeComponentAirframes::clear() {
// Run through all and delete them // Run through all and delete them
for (unsigned tindex = 0; tindex < AirframeComponentAirframes::get().count(); tindex++) { for (int tindex = 0; tindex < AirframeComponentAirframes::get().count(); tindex++) {
const AirframeComponentAirframes::AirframeType_t* pType = AirframeComponentAirframes::get().values().at(tindex); const AirframeComponentAirframes::AirframeType_t* pType = AirframeComponentAirframes::get().values().at(tindex);
for (unsigned index = 0; index < pType->rgAirframeInfo.count(); index++) { for (int index = 0; index < pType->rgAirframeInfo.count(); index++) {
const AirframeComponentAirframes::AirframeInfo_t* pInfo = pType->rgAirframeInfo.at(index); const AirframeComponentAirframes::AirframeInfo_t* pInfo = pType->rgAirframeInfo.at(index);
delete pInfo; delete pInfo;
} }
......
...@@ -52,6 +52,7 @@ public: ...@@ -52,6 +52,7 @@ public:
static QMap<QString, AirframeComponentAirframes::AirframeType_t*>& get(); static QMap<QString, AirframeComponentAirframes::AirframeType_t*>& get();
static void clear(); static void clear();
static void insert(QString& group, QString& image, QString& name, int id);
protected: protected:
static QMap<QString, AirframeType_t*> rgAirframeTypes; static QMap<QString, AirframeType_t*> rgAirframeTypes;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment