Prompts the user to create a new record.
        
        :param      model  | <subclass of orb.Table>
                    parent | <QWidget>
                    autoCommit | <bool>
                    defaults | <dict> || None
        
        :return     <orb.Table> || None

def create(cls,
               model=None,
               parent=None,
               autoCommit=True,
               defaults=None,
               title=''):
        """
        Prompts the user to create a new record.
        
        :param      model  | <subclass of orb.Table>
                    parent | <QWidget>
                    autoCommit | <bool>
                    defaults | <dict> || None
        
        :return     <orb.Table> || None
        """
        if model is None:
            model = cls.tableType()
            if model is None:
                return None
        
        dlg = cls.getDialog('create', parent)
        
        # create dialog
        if not title:
            title = 'Create {0}'.format(type(model).__name__)
        dlg.setWindowTitle(title)
        
        widget = dlg._mainwidget
        widget.setRecord(model())
        widget.setAutoCommitOnSave(autoCommit)
        
        if defaults:
            widget.loadValues(defaults)
        else:
            widget.loadValues({})
        
        result = dlg.exec_()
        if result or widget.saveSignalBlocked():
            output = widget.record()
        else:
            output = None
        
        return output