66
|
1 |
//
|
|
2 |
// Little helper class for populating lists with Hb::SceneItems
|
|
3 |
//
|
|
4 |
|
|
5 |
#ifndef SCENEITEMLISTHELPER_H
|
|
6 |
#define SCENEITEMLISTHELPER_H
|
|
7 |
|
|
8 |
#include <hbnamespace.h>
|
|
9 |
|
|
10 |
Q_DECLARE_METATYPE(Hb::SceneItem);
|
|
11 |
|
|
12 |
static struct { Hb::SceneItem sceneItem; QString name; } listHelperSceneItems[] =
|
|
13 |
{
|
|
14 |
{Hb::NoItem, "NoItem"},
|
|
15 |
{Hb::ToolBarItem, "ToolBarItem"},
|
|
16 |
{Hb::AllItems, "AllItems"},
|
|
17 |
};
|
|
18 |
|
|
19 |
|
|
20 |
//
|
|
21 |
// SceneItemListHelper
|
|
22 |
//
|
|
23 |
class SceneItemListHelper
|
|
24 |
{
|
|
25 |
public:
|
|
26 |
|
|
27 |
static int sceneItemStringsCount(){
|
|
28 |
return sizeof(listHelperSceneItems) / sizeof(listHelperSceneItems[0]);
|
|
29 |
}
|
|
30 |
|
|
31 |
static void initListWidget(QListWidget *listWidget){
|
|
32 |
for(int i = 0; i < SceneItemListHelper::sceneItemStringsCount(); i++ ) {
|
|
33 |
// create list widget item and store the sceneItem with the sceneItem name
|
|
34 |
QListWidgetItem* item = new QListWidgetItem(listHelperSceneItems[i].name);
|
|
35 |
item->setData(Qt::UserRole,QVariant::fromValue(listHelperSceneItems[i].sceneItem));
|
|
36 |
item->setSelected(
|
|
37 |
listHelperSceneItems[i].sceneItem == Hb::NoItem ?
|
|
38 |
true : false);
|
|
39 |
|
|
40 |
listWidget->addItem (item);
|
|
41 |
}
|
|
42 |
}
|
|
43 |
|
|
44 |
static Hb::SceneItems sceneItems(const QListWidget *listwidget){
|
|
45 |
Hb::SceneItems sceneItems = Hb::NoItem;
|
|
46 |
|
|
47 |
for (int i = 0; i < listwidget->count(); i++) {
|
|
48 |
if (listwidget->item(i)->isSelected()) {
|
|
49 |
sceneItems |= listwidget->item(i)->data(Qt::UserRole).value<Hb::SceneItem>();
|
|
50 |
}
|
|
51 |
}
|
|
52 |
return sceneItems;
|
|
53 |
}
|
|
54 |
};
|
|
55 |
|
|
56 |
#endif //SCENEITEMLISTHELPER_H
|
|
57 |
|