src/hbwidgets/dataform/hbdataform_p.cpp
changeset 34 ed14f46c0e55
parent 7 923ff622b8b9
equal deleted inserted replaced
31:7516d6d86cf5 34:ed14f46c0e55
   159         }
   159         }
   160     }
   160     }
   161     return modelIndex;
   161     return modelIndex;
   162 }
   162 }
   163 
   163 
       
   164 
       
   165 /*
       
   166     collapses all grouppages .
       
   167 */
       
   168 void HbDataFormPrivate::collapseAllGroupPages(const QModelIndex index)  
       
   169 {
       
   170     Q_Q(HbDataForm);  
       
   171     HbDataFormModelItem *modelItem = static_cast<HbDataFormModel *>(q->model())->itemFromIndex(index);
       
   172     for(int i = 0; i < modelItem->childCount() ; i++) {
       
   173         if( modelItem->childAt(i)->type() == HbDataFormModelItem::GroupPageItem ) {
       
   174             QModelIndex childIndex = static_cast<HbDataFormModel *>(q->model())->indexFromItem(modelItem->childAt(i));
       
   175             mContainer->setItemTransientStateValue(childIndex, "expanded", false);
       
   176         }
       
   177     }
       
   178 }
       
   179 
   164 /*!
   180 /*!
   165     Creates a DataForm Page \a page in DataForm .
   181     Creates a DataForm Page \a page in DataForm .
   166     DataForm Page is an invisible DataItem which can be changed/selected using combo box.
   182     DataForm Page is an invisible DataItem which can be changed/selected using combo box.
   167     \sa addFormPage
   183     \sa addFormPage
   168 */
   184 */
   171     Q_Q(HbDataForm);
   187     Q_Q(HbDataForm);
   172 
   188 
   173     // Create combobox if not created 
   189     // Create combobox if not created 
   174     if(!mHeadingWidget) {
   190     if(!mHeadingWidget) {
   175         mHeadingWidget = new HbDataFormHeadingWidget();
   191         mHeadingWidget = new HbDataFormHeadingWidget();
   176         static_cast<HbDataItemContainer*>(mContainer)->setFormHeading(mHeadingWidget);        
   192         static_cast<HbDataItemContainer*>(mContainer)->setFormHeading(mHeadingWidget);
   177         QEvent polishEvent(QEvent::Polish);
       
   178         QCoreApplication::sendEvent(mHeadingWidget, &polishEvent);
       
   179     }
   193     }
   180 
   194 
   181     if(!mHeadingWidget->mPageCombo) {
   195     if(!mHeadingWidget->mPageCombo) {
   182         mHeadingWidget->createPrimitives();
   196         mHeadingWidget->createPrimitives();
   183         mHeadingWidget->mPageCombo = new HbComboBox(mHeadingWidget);
   197         mHeadingWidget->mPageCombo = new HbComboBox(mHeadingWidget);
   184         HbStyle::setItemName(mHeadingWidget->mPageCombo,"dataForm_Combo");
   198         HbStyle::setItemName(mHeadingWidget->mPageCombo,"dataForm_Combo");
   185         QEvent polishEvent(QEvent::Polish);
   199         mHeadingWidget->callPolish();
   186         QCoreApplication::sendEvent(mHeadingWidget->mPageCombo, &polishEvent);
       
   187         // setFormHeading to the layout
   200         // setFormHeading to the layout
   188         if(mHeadingWidget->mPageCombo || !mHeadingWidget->mDescription.isEmpty() || 
   201         if(mHeadingWidget->mPageCombo || !mHeadingWidget->mDescription.isEmpty() || 
   189             !mHeadingWidget->mHeading.isEmpty()) {
   202             !mHeadingWidget->mHeading.isEmpty()) {
   190             static_cast<HbDataItemContainer*>(mContainer)->setFormHeading(mHeadingWidget);
   203             static_cast<HbDataItemContainer*>(mContainer)->setFormHeading(mHeadingWidget);
   191         }
   204         }