Calculates the total for the given values.  For Datetime/Time objects,
        this will be seconds from minimum to maximum - defaulting to 1 second.
        For Date objects, this will be days from minimum to maximum, defaulting
        to 1 day.  For Number objects, this will be the sum of the list.  For
        Custom objects, a -1 value is returned.
        
        :param      values | [<variant>, ..]
        
        :return     <int>

def calcTotal( self, values ):
        """
        Calculates the total for the given values.  For Datetime/Time objects,
        this will be seconds from minimum to maximum - defaulting to 1 second.
        For Date objects, this will be days from minimum to maximum, defaulting
        to 1 day.  For Number objects, this will be the sum of the list.  For
        Custom objects, a -1 value is returned.
        
        :param      values | [<variant>, ..]
        
        :return     <int>
        """
        rtype = self.rulerType()
        
        if ( not values ):
            return 0
        
        if ( rtype == XChartRuler.Type.Number ):
            return sum(values)
        
        elif ( rtype == XChartRuler.Type.Date ):
            values.sort()
            days = values[0].daysTo(values[-1])
            return max(1, days)
        
        elif ( rtype in (XChartRuler.Type.Datetime, XChartRuler.Type.Time) ):
            values.sort()
            secs = values[0].secsTo(values[-1])
            return max(1, secs)
        
        return -1