diff -r 989397f9511c -r 67b3e3c1fc87 securitydialogs/SecUi/SecUiTestQt/sceneitemlisthelper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitydialogs/SecUi/SecUiTestQt/sceneitemlisthelper.h Wed Oct 20 14:51:23 2010 +0300 @@ -0,0 +1,57 @@ +// +// Little helper class for populating lists with Hb::SceneItems +// + +#ifndef SCENEITEMLISTHELPER_H +#define SCENEITEMLISTHELPER_H + +#include + +Q_DECLARE_METATYPE(Hb::SceneItem); + +static struct { Hb::SceneItem sceneItem; QString name; } listHelperSceneItems[] = + { + {Hb::NoItem, "NoItem"}, + {Hb::ToolBarItem, "ToolBarItem"}, + {Hb::AllItems, "AllItems"}, + }; + + +// +// SceneItemListHelper +// +class SceneItemListHelper +{ +public: + + static int sceneItemStringsCount(){ + return sizeof(listHelperSceneItems) / sizeof(listHelperSceneItems[0]); + } + + static void initListWidget(QListWidget *listWidget){ + for(int i = 0; i < SceneItemListHelper::sceneItemStringsCount(); i++ ) { + // create list widget item and store the sceneItem with the sceneItem name + QListWidgetItem* item = new QListWidgetItem(listHelperSceneItems[i].name); + item->setData(Qt::UserRole,QVariant::fromValue(listHelperSceneItems[i].sceneItem)); + item->setSelected( + listHelperSceneItems[i].sceneItem == Hb::NoItem ? + true : false); + + listWidget->addItem (item); + } + } + + static Hb::SceneItems sceneItems(const QListWidget *listwidget){ + Hb::SceneItems sceneItems = Hb::NoItem; + + for (int i = 0; i < listwidget->count(); i++) { + if (listwidget->item(i)->isSelected()) { + sceneItems |= listwidget->item(i)->data(Qt::UserRole).value(); + } + } + return sceneItems; + } +}; + +#endif //SCENEITEMLISTHELPER_H +