Rebuilds the tracker item.

def rebuild( self, gridRect ):
        """
        Rebuilds the tracker item.
        """
        scene = self.scene()
        if ( not scene ):
            return
        
        self.setVisible(gridRect.contains(self.pos()))
        self.setZValue(100)
        
        path = QPainterPath()
        path.moveTo(0, 0)
        path.lineTo(0, gridRect.height())
        
        tip             = ''
        tip_point       = None
        self._ellipses  = []
        items           = scene.collidingItems(self)
        self._basePath  = QPainterPath(path)
        
        for item in items:
            item_path = item.path()
            found = None
            for y in range(int(gridRect.top()), int(gridRect.bottom())):
                point = QPointF(self.pos().x(), y)
                if ( item_path.contains(point) ):
                    found = QPointF(0, y - self.pos().y())
                    break
            
            if ( found ):
                path.addEllipse(found, 6, 6)
                self._ellipses.append(found)
                
                # update the value information
                value     = scene.valueAt(self.mapToScene(found))
                tip_point = self.mapToScene(found)
                hruler    = scene.horizontalRuler()
                vruler    = scene.verticalRuler()
                
                x_value = hruler.formatValue(value[0])
                y_value = vruler.formatValue(value[1])
                
                tip = '<b>x:</b> %s<br/><b>y:</b> %s' % (x_value, y_value)
        
        self.setPath(path)
        self.setVisible(True)
        
        # show the popup widget
        if ( tip ):
            anchor    = XPopupWidget.Anchor.RightCenter
            widget    = self.scene().chartWidget()
            tip_point = widget.mapToGlobal(widget.mapFromScene(tip_point))
            
            XPopupWidget.showToolTip(tip, 
                                     anchor = anchor,
                                     parent = widget,
                                     point  = tip_point,
                                     foreground = QColor('blue'),
                                     background = QColor(148, 148, 255))