Resets this widget's data to a new class an reinitializes.  This method
        needs to have a table type defined for this widget to work.
        
        :sa     setTableType, tableType
        
        :return     <bool> | success

def reset(self):
        """
        Resets this widget's data to a new class an reinitializes.  This method
        needs to have a table type defined for this widget to work.
        
        :sa     setTableType, tableType
        
        :return     <bool> | success
        """
        ttype = self.tableType()
        if ( not ttype ):
            return False
        
        values = self.saveValues()
        self.setRecord(ttype())
        restore_values = {}
        for column in self.savedColumnsOnReset():
            if column in restore_values:
                restore_values[column] = values[column]
        if restore_values:
            self.loadValues(restore_values)
        
        return True