src/hbwidgets/dataform/hbdataformviewitem.cpp
changeset 7 923ff622b8b9
parent 6 c3690ec91ef8
child 21 4633027730f5
equal deleted inserted replaced
6:c3690ec91ef8 7:923ff622b8b9
    23 **
    23 **
    24 ****************************************************************************/
    24 ****************************************************************************/
    25 
    25 
    26 #include "hbdataformviewitem.h"
    26 #include "hbdataformviewitem.h"
    27 #include "hbdataformviewitem_p.h"
    27 #include "hbdataformviewitem_p.h"
       
    28 #include "hbabstractitemcontainer_p_p.h"
    28 
    29 
    29 #include "hbdataformmodelitem_p.h"
    30 #include "hbdataformmodelitem_p.h"
    30 #include "hbdataform_p.h"
    31 #include "hbdataform_p.h"
    31 #include "hbdatagroup_p.h"
    32 #include "hbdatagroup_p.h"
    32 #include "hbstyleoptiondataformviewitem_p.h"
    33 #include "hbstyleoptiondataformviewitem_p.h"
   396 {
   397 {
   397     Q_D(HbDataFormViewItem);
   398     Q_D(HbDataFormViewItem);
   398     // Expansion is valid only for group ,form page and group page
   399     // Expansion is valid only for group ,form page and group page
   399     if( d->mType < HbDataFormModelItem::SliderItem ) {
   400     if( d->mType < HbDataFormModelItem::SliderItem ) {
   400         static_cast<HbDataGroup*>(this)->setExpanded(expanded);
   401         static_cast<HbDataGroup*>(this)->setExpanded(expanded);
   401     } 
   402     }  else {
       
   403         HbAbstractItemContainer *container = qobject_cast<HbAbstractItemContainer *>(
       
   404         static_cast<QGraphicsWidget *>( d->mSharedData->mItemView->contentWidget( ) ) );
       
   405         container->setItemTransientStateValue(d->mIndex, "expanded", expanded);
       
   406     }
   402 }
   407 }
   403 
   408 
   404 /*!
   409 /*!
   405     \reimp
   410     \reimp
   406     Returns the expanded state of item.
   411     Returns the expanded state of item.
   410 bool HbDataFormViewItem::isExpanded() const
   415 bool HbDataFormViewItem::isExpanded() const
   411 {
   416 {
   412     Q_D( const HbDataFormViewItem);
   417     Q_D( const HbDataFormViewItem);
   413     // Expansion is valid only for group ,form page and group page
   418     // Expansion is valid only for group ,form page and group page
   414     if( d->mType < HbDataFormModelItem::SliderItem ) {
   419     if( d->mType < HbDataFormModelItem::SliderItem ) {
   415         HbDataGroup *group = qobject_cast<HbDataGroup *>(const_cast<HbDataFormViewItem*>(this));
   420         HbDataGroup *group = qobject_cast< HbDataGroup *>(const_cast<HbDataFormViewItem*>(this));
   416         if( group ) {
   421         if( group ) {
   417             return group->isExpanded();
   422             return group->isExpanded();
   418         } else {
       
   419             return false;
       
   420         }
   423         }
   421     } 
   424     } 
       
   425     if(d->mSharedData->mItemView) {
       
   426         HbAbstractItemContainer *container = qobject_cast<HbAbstractItemContainer *>(
       
   427             static_cast<QGraphicsWidget *>( d->mSharedData->mItemView->contentWidget( ) ) );
       
   428         if(container) {
       
   429             return container->itemTransientState(d->mIndex).value("expanded").toBool();
       
   430         }
       
   431     }
   422     return false;
   432     return false;
   423 }
   433 }
   424 
   434 
   425 /*!
   435 /*!
   426     @beta
   436     @beta
   433     content widget using this API.
   443     content widget using this API.
   434 */
   444 */
   435 HbWidget* HbDataFormViewItem::dataItemContentWidget()const
   445 HbWidget* HbDataFormViewItem::dataItemContentWidget()const
   436 {
   446 {
   437     Q_D(const HbDataFormViewItem);
   447     Q_D(const HbDataFormViewItem);
   438     HbWidget *widget = d->mContentWidget;;
   448     HbWidget *widget = d->mContentWidget;
   439 
   449 
   440     switch( d->mType ) {
   450     if(d->mContentWidget) {
   441         case HbDataFormModelItem::RadioButtonListItem:
   451         switch( d->mType ) {
   442             {
   452             case HbDataFormModelItem::RadioButtonListItem:{
   443                 widget = static_cast<HbRadioItem*>(d->mContentWidget)->createRadioButton();
   453                 widget = static_cast<HbRadioItem*>(d->mContentWidget)->createRadioButton();
   444             }
   454             }
   445             break;
   455             break;
   446         case HbDataFormModelItem::MultiselectionItem:
   456             case HbDataFormModelItem::MultiselectionItem:{
   447             {
       
   448                 widget = NULL;
   457                 widget = NULL;
   449             }
   458             }
   450             break;
   459             break;
   451         case HbDataFormModelItem::ToggleValueItem:
   460             case HbDataFormModelItem::ToggleValueItem:{
   452             {
       
   453                 widget = static_cast<HbToggleItem*>(d->mContentWidget)->contentWidget();
   461                 widget = static_cast<HbToggleItem*>(d->mContentWidget)->contentWidget();
   454             }
   462             }
   455             break;
   463             break;
   456         default:
   464             default:
   457             break;
   465             break;
       
   466         }
   458     }
   467     }
   459     return widget;
   468     return widget;
   460 }
   469 }
   461 
   470 
   462 /*!
   471 /*!