|
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 |