securitydialogs/SecUi/SecUiTestQt/sceneitemlisthelper.h
changeset 66 67b3e3c1fc87
equal deleted inserted replaced
63:989397f9511c 66:67b3e3c1fc87
       
     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