Reutrns a list of the notches that are going to be used for this ruler.
        If the notches have not been explicitly set (per a Custom type), then
        the notches will be generated based on the minimum, maximum and step
        values the current ruler type.
        
        :return     [<str>, ..]

def notches( self ):
        """
        Reutrns a list of the notches that are going to be used for this ruler.
        If the notches have not been explicitly set (per a Custom type), then
        the notches will be generated based on the minimum, maximum and step
        values the current ruler type.
        
        :return     [<str>, ..]
        """
        if ( self._notches is not None ):
            return self._notches
        
        rtype           = self.rulerType()
        formatter       = self.formatter()
        format          = self.format()
        self._notches   = []
        
        minimum = self.minimum()
        maximum = self.maximum()
        step    = self.step()
        
        if ( step <= 0 ):
            return []
        
        curr = minimum
        while ( curr < maximum ):
            self._notches.append(self.formatValue(curr))
            
            if ( rtype == XChartRuler.Type.Number ):
                curr += step
            elif ( rtype == XChartRuler.Type.Date ):
                curr = curr.addDays(step)
            elif ( rtype in (XChartRuler.Type.Datetime, XChartRuler.Type.Time)):
                curr = curr.addSecs(step)
            else:
                break
        
        self._notches.append(self.formatValue(maximum))
        
        return self._notches