docs: 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))