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 /*! |