src/hbwidgets/sliders/hbprogressbar.cpp
changeset 21 4633027730f5
parent 7 923ff622b8b9
equal deleted inserted replaced
7:923ff622b8b9 21:4633027730f5
   139 */
   139 */
   140 void HbProgressBarPrivate::init() 
   140 void HbProgressBarPrivate::init() 
   141 {
   141 {
   142     Q_Q(HbProgressBar);
   142     Q_Q(HbProgressBar);
   143 
   143 
   144     HbStyle *style = qobject_cast<HbStyle*>(q->style());
   144 
   145     Q_ASSERT(style);
   145     mFrame = HbStylePrivate::createPrimitive(HbStylePrivate::P_ProgressBar_frame,q);
   146 
   146     mTrack = HbStylePrivate::createPrimitive(HbStylePrivate::P_ProgressBar_track,mFrame);
   147     mFrame = style->createPrimitive(HbStyle::P_ProgressBar_frame,q);
   147     mWaitTrack = HbStylePrivate::createPrimitive(HbStylePrivate::P_ProgressBar_waittrack,mFrame);    
   148     mTrack = style->createPrimitive(HbStyle::P_ProgressBar_track,mFrame);
       
   149     mWaitTrack = style->createPrimitive(HbStyle::P_ProgressBar_waittrack,mFrame);    
       
   150     mWaitTrack->setVisible(false);
   148     mWaitTrack->setVisible(false);
   151 
   149 
   152     if(q->layoutDirection() == Qt::RightToLeft) {
   150     if(q->layoutDirection() == Qt::RightToLeft) {
   153         q->setInvertedAppearance(true);
   151         q->setInvertedAppearance(true);
   154     }
   152     }
   165 */
   163 */
   166 void HbProgressBarPrivate::createTextPrimitives()
   164 void HbProgressBarPrivate::createTextPrimitives()
   167 {
   165 {
   168     Q_Q(HbProgressBar);
   166     Q_Q(HbProgressBar);
   169 
   167 
   170     mMinTextItem = q->style()->createPrimitive(HbStyle::P_ProgressBar_mintext,q);
   168     mMinTextItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_ProgressBar_mintext,q);
   171     mMaxTextItem = q->style()->createPrimitive(HbStyle::P_ProgressBar_maxtext,q);
   169     mMaxTextItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_ProgressBar_maxtext,q);
   172 }
   170 }
   173 
   171 
   174 void HbProgressBarPrivate::setProgressValue(int value)
   172 void HbProgressBarPrivate::setProgressValue(int value)
   175 {
   173 {
   176    Q_Q(HbProgressBar);
   174    Q_Q(HbProgressBar);
   191 
   189 
   192     //redraw track
   190     //redraw track
   193     HbStyleOptionProgressBar progressBarOption;
   191     HbStyleOptionProgressBar progressBarOption;
   194     q->initStyleOption(&progressBarOption);
   192     q->initStyleOption(&progressBarOption);
   195     if(mTrack) {
   193     if(mTrack) {
   196         q->style()->updatePrimitive(mTrack, HbStyle::P_ProgressBar_track, &progressBarOption);
   194         HbStylePrivate::updatePrimitive(mTrack, HbStylePrivate::P_ProgressBar_track, &progressBarOption);
   197     }
   195     }
   198 
   196 
   199     emit q->valueChanged(value);
   197     emit q->valueChanged(value);
   200     
   198     
   201 }
   199 }
   241 
   239 
   242     if( (mMinimum == 0) && (mMaximum == 0) ) {
   240     if( (mMinimum == 0) && (mMaximum == 0) ) {
   243         mWaitTrack->setVisible(true);
   241         mWaitTrack->setVisible(true);
   244         mTrack->setVisible(false);
   242         mTrack->setVisible(false);
   245 
   243 
   246         q->style()->updatePrimitive(mWaitTrack, HbStyle::P_ProgressBar_waittrack, &progressBarOption);
   244         HbStylePrivate::updatePrimitive(mWaitTrack, HbStylePrivate::P_ProgressBar_waittrack, &progressBarOption);
   247     } else {
   245     } else {
   248         mWaitTrack->setVisible(false);
   246         mWaitTrack->setVisible(false);
   249         mTrack->setVisible(true);
   247         mTrack->setVisible(true);
   250 
   248 
   251         q->style()->updatePrimitive(mTrack, HbStyle::P_ProgressBar_track, &progressBarOption);
   249         HbStylePrivate::updatePrimitive(mTrack, HbStylePrivate::P_ProgressBar_track, &progressBarOption);
   252     }
   250     }
   253     //q->updatePrimitives();
   251     //q->updatePrimitives();
   254 } 
   252 } 
   255 
   253 
   256 /*!
   254 /*!
   458     Q_D(HbProgressBar);
   456     Q_D(HbProgressBar);
   459     if (d->mMinText != text) {
   457     if (d->mMinText != text) {
   460         d->mMinText = text;
   458         d->mMinText = text;
   461         HbStyleOptionProgressBar progressBarOption;
   459         HbStyleOptionProgressBar progressBarOption;
   462         progressBarOption.minText = d->mMinText;
   460         progressBarOption.minText = d->mMinText;
   463         style()->updatePrimitive(d->mMinTextItem,HbStyle::P_ProgressBar_mintext,&progressBarOption);
   461         HbStylePrivate::updatePrimitive(d->mMinTextItem,HbStylePrivate::P_ProgressBar_mintext,&progressBarOption);
   464      }
   462      }
   465 }
   463 }
   466 
   464 
   467 /*!
   465 /*!
   468     @beta
   466     @beta
   489     Q_D(HbProgressBar);
   487     Q_D(HbProgressBar);
   490     if (d->mMaxText != text) {
   488     if (d->mMaxText != text) {
   491         d->mMaxText = text;
   489         d->mMaxText = text;
   492         HbStyleOptionProgressBar progressBarOption;
   490         HbStyleOptionProgressBar progressBarOption;
   493         progressBarOption.maxText = d->mMaxText;
   491         progressBarOption.maxText = d->mMaxText;
   494         style()->updatePrimitive(d->mMaxTextItem,HbStyle::P_ProgressBar_maxtext,&progressBarOption);
   492         HbStylePrivate::updatePrimitive(d->mMaxTextItem,HbStylePrivate::P_ProgressBar_maxtext,&progressBarOption);
   495     }
   493     }
   496 }
   494 }
   497 
   495 
   498 /*!
   496 /*!
   499     @beta
   497     @beta
   527     // update primitve optimization, update only text primitives 
   525     // update primitve optimization, update only text primitives 
   528     // incase of with and without min-max text
   526     // incase of with and without min-max text
   529     HbStyleOptionProgressBar progressBarOption;
   527     HbStyleOptionProgressBar progressBarOption;
   530     initStyleOption(&progressBarOption);
   528     initStyleOption(&progressBarOption);
   531 
   529 
   532     style()->updatePrimitive(d->mMinTextItem,HbStyle::P_ProgressBar_mintext,&progressBarOption);    
   530     HbStylePrivate::updatePrimitive(d->mMinTextItem,HbStylePrivate::P_ProgressBar_mintext,&progressBarOption);    
   533     style()->updatePrimitive(d->mMaxTextItem,HbStyle::P_ProgressBar_maxtext,&progressBarOption); 
   531     HbStylePrivate::updatePrimitive(d->mMaxTextItem,HbStylePrivate::P_ProgressBar_maxtext,&progressBarOption); 
   534 
   532 
   535             d->mMinTextItem->show();
   533             d->mMinTextItem->show();
   536             d->mMaxTextItem->show();
   534             d->mMaxTextItem->show();
   537     } else {
   535     } else {
   538         if(d->mMinTextItem && d->mMaxTextItem){
   536         if(d->mMinTextItem && d->mMaxTextItem){
   633 QGraphicsItem* HbProgressBar::primitive(HbStyle::Primitive primitive) const
   631 QGraphicsItem* HbProgressBar::primitive(HbStyle::Primitive primitive) const
   634 {
   632 {
   635     Q_D(const HbProgressBar);
   633     Q_D(const HbProgressBar);
   636 
   634 
   637     switch (primitive) {
   635     switch (primitive) {
   638         case HbStyle::P_ProgressBar_frame:
   636         case HbStylePrivate::P_ProgressBar_frame:
   639             return d->mFrame;
   637             return d->mFrame;
   640         case HbStyle::P_ProgressBar_track:
   638         case HbStylePrivate::P_ProgressBar_track:
   641             return d->mTrack;  
   639             return d->mTrack;  
   642         case HbStyle::P_ProgressBar_waittrack:
   640         case HbStylePrivate::P_ProgressBar_waittrack:
   643             return d->mWaitTrack;
   641             return d->mWaitTrack;
   644         case HbStyle::P_ProgressBar_mintext:
   642         case HbStylePrivate::P_ProgressBar_mintext:
   645             return d->mMinTextItem;
   643             return d->mMinTextItem;
   646         case HbStyle::P_ProgressBar_maxtext:
   644         case HbStylePrivate::P_ProgressBar_maxtext:
   647             return d->mMaxTextItem;
   645             return d->mMaxTextItem;
   648         default:
   646         default:
   649             return 0;
   647             return 0;
   650     }
   648     }
   651 }
   649 }
   659 
   657 
   660     if(isVisible()){
   658     if(isVisible()){
   661         HbStyleOptionProgressBar progressBarOption;
   659         HbStyleOptionProgressBar progressBarOption;
   662         initStyleOption(&progressBarOption);
   660         initStyleOption(&progressBarOption);
   663         if (d->mFrame) {
   661         if (d->mFrame) {
   664             style()->updatePrimitive(d->mFrame, HbStyle::P_ProgressBar_frame, &progressBarOption);          
   662             HbStylePrivate::updatePrimitive(d->mFrame, HbStylePrivate::P_ProgressBar_frame, &progressBarOption);          
   665         }
   663         }
   666      
   664      
   667         if (d->mTrack) {
   665         if (d->mTrack) {
   668                 style()->updatePrimitive(d->mTrack, HbStyle::P_ProgressBar_track, &progressBarOption);
   666                 HbStylePrivate::updatePrimitive(d->mTrack, HbStylePrivate::P_ProgressBar_track, &progressBarOption);
   669         }
   667         }
   670         
   668         
   671         if (d->mWaitTrack) {
   669         if (d->mWaitTrack) {
   672                 style()->updatePrimitive(d->mWaitTrack, HbStyle::P_ProgressBar_waittrack, &progressBarOption);
   670                 HbStylePrivate::updatePrimitive(d->mWaitTrack, HbStylePrivate::P_ProgressBar_waittrack, &progressBarOption);
   673         }
   671         }
   674         
   672         
   675         if(d->mMinTextItem && d->mMinMaxTextVisible) {
   673         if(d->mMinTextItem && d->mMinMaxTextVisible) {
   676             style()->updatePrimitive(d->mMinTextItem,HbStyle::P_ProgressBar_mintext,&progressBarOption);    
   674             HbStylePrivate::updatePrimitive(d->mMinTextItem,HbStylePrivate::P_ProgressBar_mintext,&progressBarOption);    
   677         }
   675         }
   678 
   676 
   679         if(d->mMaxTextItem && d->mMinMaxTextVisible) {
   677         if(d->mMaxTextItem && d->mMinMaxTextVisible) {
   680             style()->updatePrimitive(d->mMaxTextItem,HbStyle::P_ProgressBar_maxtext,&progressBarOption);    
   678             HbStylePrivate::updatePrimitive(d->mMaxTextItem,HbStylePrivate::P_ProgressBar_maxtext,&progressBarOption);    
   681         }
   679         }
   682     }
   680     }
   683     HbWidget::updatePrimitives();
   681     HbWidget::updatePrimitives();
   684 }
   682 }
   685 
   683 
   713     Q_D(HbProgressBar);
   711     Q_D(HbProgressBar);
   714     HbStyleOptionProgressBar progressBarOption;
   712     HbStyleOptionProgressBar progressBarOption;
   715     initStyleOption(&progressBarOption);
   713     initStyleOption(&progressBarOption);
   716     progressBarOption.stopWaitAnimation = true;
   714     progressBarOption.stopWaitAnimation = true;
   717     if (d->mWaitTrack) {
   715     if (d->mWaitTrack) {
   718         style()->updatePrimitive(d->mWaitTrack, HbStyle::P_ProgressBar_waittrack, &progressBarOption);
   716         HbStylePrivate::updatePrimitive(d->mWaitTrack, HbStylePrivate::P_ProgressBar_waittrack, &progressBarOption);
   719     }
   717     }
   720     event->accept();
   718     event->accept();
   721 }
   719 }
   722 
   720 
   723 /*!
   721 /*!