#ifndef __WOSH_WOSHItemGroup_H__ #define __WOSH_WOSHItemGroup_H__ #include "WOSHItem.h" #include #include #include #include class WOSHItemGroup { public: QList items; QString title; QString type; WOSHItemGroup() { this->title = ""; this->type = "UNKNOWN"; } // ------------------------------------------------------------------------------------ static WOSHItemGroup* loadGroup( QDomNode& child ) { WOSHItemGroup * action = new WOSHItemGroup(); action->title = child.namedItem("title").toElement().text(); action->type = child.namedItem("type").toElement().text(); return action; } static QList* loadItems( QString filename, QString dmtfcode ) { QList* allitems = new QList(); QDomDocument doc("items"); QFile file(filename); if (!file.open(QIODevice::ReadOnly)) { qDebug() << "Cant open file: " << filename; return NULL; } if (!doc.setContent(&file)) { file.close(); qDebug() << "Cant set contents from " << filename; return NULL; } file.close(); qDebug() << "Parsing document.." << filename; QDomElement docElem = doc.documentElement(); QDomNodeList items = docElem.elementsByTagName( "Item" ); int itemsCount = items.length(); for(int j=0; jlabel = child.namedItem("label").toElement().text(); item->dmtfcode = child.namedItem("dmtfcode").toElement().text(); item->value = child.namedItem("value").toElement().text(); allitems->append(item); } return allitems; } static QList* loadItems( QString filename ) { QList* allgroups = new QList(); QDomDocument doc("actions"); QFile file(filename); if (!file.open(QIODevice::ReadOnly)) { qDebug() << "Cant open file: " << filename; return NULL; } if (!doc.setContent(&file)) { file.close(); qDebug() << "Cant set contents from " << filename; return NULL; } file.close(); qDebug() << "Parsing document.." << filename; QDomElement docElem = doc.documentElement(); QDomNodeList groups = docElem.elementsByTagName( "ItemsGroup" ); int groupsCount = groups.length(); for(int j=0; jlabel = child.namedItem("label").nodeValue(); item->dmtfcode = child.namedItem("dmtfcode").nodeValue(); group->items.append(item); } allgroups->append(group); } return allgroups; } }; #endif //__WOSH_WOSHItemGroup_H__