src/hbwidgets/sliders/hbslidertickmarkslabel.cpp
changeset 6 c3690ec91ef8
parent 3 11d3954df52a
child 7 923ff622b8b9
--- a/src/hbwidgets/sliders/hbslidertickmarkslabel.cpp	Fri Jun 11 13:58:22 2010 +0300
+++ b/src/hbwidgets/sliders/hbslidertickmarkslabel.cpp	Wed Jun 23 18:33:25 2010 +0300
@@ -153,7 +153,15 @@
         return;
     }
     d->createTickLabels();
-    setLabelSize( );
+    int totalMajorTicksLabel = d->tickmarkmajorIconItemsLabel.length();
+    for (int i=0;i<totalMajorTicksLabel;i++) {
+         QGraphicsWidget *textItem = d->tickmarkmajorIconItemsLabel.at ( i);
+         HbStyleOptionSlider opt;
+         initStyleOption(&opt);
+         opt.orientation = d->slider->orientation();
+         opt.text = (d->slider->majorTickLabels( )).at(i);
+         style()->updatePrimitive(textItem,HbStyle::P_SliderTickMark_majorlabel,&opt);
+	}
     int minimum = d->slider->minimum();
     int maximum = d->slider->maximum();
     int majorTickInterval = d->slider->majorTickInterval ( );
@@ -289,6 +297,7 @@
     d->q_ptr = this;
     d->slider=dynamic_cast<HbSlider*>( parentItem() );
     d->createTickLabels();
+    setFlag(QGraphicsItem::ItemSendsGeometryChanges,true);
 }
 
 /*!
@@ -298,106 +307,9 @@
 {
 }
 
-void HbSliderTickmarksLabel::setLabelSize()
-{
-    Q_D (HbSliderTickmarksLabel);
-
-    int minimum = d->slider->minimum();
-    int maximum = d->slider->maximum();
-    int majorTickInterval = d->slider->majorTickInterval ( );
-    int minorTickInterval = d->slider->minorTickInterval ( );
-    qreal span = 0;
-    bool rtlLayout = (((d->slider->orientation( ) != Qt::Vertical)
-        &&(HbApplication::layoutDirection() == Qt::LeftToRight))?false:true);
-    HbSliderPrivate *sliderPrivate = dynamic_cast<HbSliderPrivate*>(HbSliderPrivate::d_ptr(d->slider));
-    QSizeF handleSize(0.0,0.0);
-    if( sliderPrivate) {
-        handleSize = sliderPrivate->getHandleSize( );
-    } else {
-        return;
-    }
-    if ( d->slider->orientation() == Qt::Horizontal) {
-        span = d->slider->size().width();
-        span-=handleSize.width();
-    }
-    if ( d->slider->orientation() == Qt::Vertical) {
-        span = d->slider->size().height();
-        span-=handleSize.height();
-    }
-    int minPos = QStyle::sliderPositionFromValue( minimum, maximum,
-                minimum,static_cast<int>( span ), rtlLayout );
-    int firstMajorIntervalPos = QStyle::sliderPositionFromValue( minimum, maximum,
-                minimum+majorTickInterval,static_cast<int>( span ), rtlLayout );
-
-    int firstMinorIntervalPos = QStyle::sliderPositionFromValue( minimum, maximum,
-                minimum+minorTickInterval,static_cast<int>( span ), rtlLayout );
-
-    qreal totalMajorTextWidth = abs(firstMajorIntervalPos-minPos);
-    qreal totalMinorTextWidth = abs(firstMinorIntervalPos-minPos);
-    Q_UNUSED(totalMajorTextWidth)
-    Q_UNUSED(totalMinorTextWidth)
-
-    if (majorTickInterval) {
-        int totalMajorTicksLabel = d->tickmarkmajorIconItemsLabel.length();
-        for (int i=0;i<totalMajorTicksLabel;i++) {
-             QGraphicsWidget *textItem = d->tickmarkmajorIconItemsLabel.at ( i);
-             HbStyleOptionSlider opt;
-             initStyleOption(&opt);
-             opt.orientation = d->slider->orientation();
-             opt.text = (d->slider->majorTickLabels( )).at(i);
-             style()->updatePrimitive(textItem,HbStyle::P_SliderTickMark_majorlabel,&opt);
-             if ( d->slider->orientation() == Qt::Horizontal) {
-             /*   textItem->setMaximumHeight (boundingRect().height());
-                textItem->setMinimumHeight (boundingRect().height());
-                textItem->setMinimumWidth(totalMajorTextWidth);
-                textItem->setMaximumWidth(totalMajorTextWidth);*/
-                textItem->update();
-             } else {
-             /*   textItem->setMinimumWidth(boundingRect().width());
-                textItem->setMaximumWidth(boundingRect().width());*/
-                textItem->update( );
-             }
-        }
-    }
-    if (minorTickInterval) {
-        int totalminorTicks = ((maximum-minimum)/minorTickInterval)+1;
-        int minorIndex = 0;
-        for (int i=0;i<totalminorTicks;i++) {
-            if (majorTickInterval ) {
-                if (i*minorTickInterval%majorTickInterval== 0) {
-                    continue;
-                }
-            }
-            if ( minorIndex < d->tickmarkminorIconItemsLabel.length() ) {
-                QGraphicsWidget *textItem = d->tickmarkminorIconItemsLabel.at ( minorIndex);
-                minorIndex++;
-                 if ( d->slider->orientation() == Qt::Horizontal) {
-                  /*  textItem->setMaximumHeight (boundingRect().height());
-                    textItem->setMinimumHeight (boundingRect().height());
-                    textItem->setMinimumWidth(totalMinorTextWidth);
-                    textItem->setMaximumWidth(totalMinorTextWidth);*/
-                    textItem->update();
-                 } else {
-                 /*   textItem->setMinimumWidth(boundingRect().width());
-                    textItem->setMaximumWidth(boundingRect().width());*/
-                    textItem->update( );
-                 }
-            }
-        }
-    }
- }
-
-
 
 void HbSliderTickmarksLabel::polish( HbStyleParameters& params )
 {
-    Q_D (HbSliderTickmarksLabel);
-    d->createTickLabels();
-    if( d->slider->orientation( ) == Qt::Horizontal ) {
-        setProperty("orientation",(Qt::Orientation)1);
-    } else {
-        setProperty("orientation",(Qt::Orientation)2);
-    }
     HbWidget::polish(params);
     updateTickLabels();
 }