src/hbwidgets/widgets/hbgroupbox.cpp
changeset 28 b7da29130b0e
parent 23 e6ad4ef83b23
equal deleted inserted replaced
23:e6ad4ef83b23 28:b7da29130b0e
    98     Q_Q( HbGroupBox );
    98     Q_Q( HbGroupBox );
    99     
    99     
   100     // set dynamic property based on type
   100     // set dynamic property based on type
   101     q->setProperty("groupBoxType",(int)type);
   101     q->setProperty("groupBoxType",(int)type);
   102 
   102 
   103     if ( mGroupBoxType == type ) 
   103     if ( mGroupBoxType == type ) {
       
   104         q->updatePrimitives();
   104         return;
   105         return;
       
   106     }
   105 
   107 
   106     mGroupBoxType = type;
   108     mGroupBoxType = type;
   107   
   109   
   108     // set the type and makes necesary primitive creation/deletion
   110     // set the type and makes necesary primitive creation/deletion
   109     switch(mGroupBoxType) {
   111     switch(mGroupBoxType) {
   301         }
   303         }
   302     }else{
   304     }else{
   303         if( d->mHeadingWidget ){
   305         if( d->mHeadingWidget ){
   304             delete d->mHeadingWidget;
   306             delete d->mHeadingWidget;
   305             d->mHeadingWidget = 0;
   307             d->mHeadingWidget = 0;
       
   308             HbStyle::setItemName( d->mHeadingWidget, QString());
   306             if( d->mContentWidget ) {
   309             if( d->mContentWidget ) {
   307                 d->setGroupBoxType( GroupBoxRichLabel );
   310                 d->setGroupBoxType( GroupBoxRichLabel );
   308             }else{
   311             }else{
   309                 d->setGroupBoxType( GroupBoxTypeUnknown );
   312                 d->setGroupBoxType( GroupBoxTypeUnknown );
   310             }
   313             }
   311         }        
   314         }        
   312     }
   315     }
   313     repolish();
   316     //repolish();
   314 }
   317 }
   315 
   318 
   316 /*!
   319 /*!
   317     @beta
   320     @beta
   318 
   321 
   522     \sa contentWidget
   525     \sa contentWidget
   523 */
   526 */
   524 void HbGroupBox::setContentWidget( HbWidget *widget )
   527 void HbGroupBox::setContentWidget( HbWidget *widget )
   525 {
   528 {
   526     Q_D( HbGroupBox );
   529     Q_D( HbGroupBox );
   527    
       
   528     if(!d->mContentWidget)
       
   529         d->createContentWidget();
       
   530     
   530     
       
   531     bool doPolish = false; 
   531     if(widget){
   532     if(widget){
       
   533         // create the mContentWidget if its not there.
       
   534         if(!d->mContentWidget)
       
   535             d->createContentWidget();
       
   536         doPolish = widget != d->mContentWidget->mContent;
   532         d->mContentWidget->setContentWidget(widget);
   537         d->mContentWidget->setContentWidget(widget);
   533         if(d->mHeadingWidget){
   538         if(d->mHeadingWidget){
   534             d->setGroupBoxType(GroupBoxCollapsingContainer);
   539             d->setGroupBoxType(GroupBoxCollapsingContainer);
   535         }else{
   540         }else{
   536             d->setGroupBoxType(GroupBoxRichLabel);
   541             d->setGroupBoxType(GroupBoxRichLabel);
   537         }
   542         }
   538         // update content widget primitve
   543         // update content widget primitve
   539         d->mContentWidget->updatePrimitives();
   544         d->mContentWidget->updatePrimitives();
   540 
   545 
   541     }else{
   546     }else{
   542         delete d->mContentWidget;
   547         // delete mContentWidget if widget is null.
   543         d->mContentWidget = 0;
   548         if( d->mContentWidget ){
   544         if(d->mHeadingWidget){
   549             delete d->mContentWidget;
   545             d->setGroupBoxType(GroupBoxSimpleLabel);
   550             d->mContentWidget = 0;
   546         }else{
   551             HbStyle::setItemName( d->mContentWidget, QString());
   547             d->setGroupBoxType(GroupBoxTypeUnknown);
   552             if(d->mHeadingWidget){
       
   553                 d->setGroupBoxType(GroupBoxSimpleLabel);
       
   554             }else{
       
   555                 d->setGroupBoxType(GroupBoxTypeUnknown);
       
   556             }
   548         }
   557         }
   549     }
   558     }
   550     repolish();
   559     if(doPolish){
       
   560         repolish();
       
   561     }
   551 }
   562 }
   552 
   563 
   553 /*!
   564 /*!
   554     @beta
   565     @beta
   555 
   566