Sets the central widget for this popup button.  If createsNew is set
        to True, then the about to show signal from the popup will be linked to
        the widget's reset slot.  If autoCommit is set to True, then the widget
        will commit it's information to the database.
        
        :param      widget | <prjexui.widgets.xorbrecordwidget.XOrbRecordWidget>
                    createsNew | <bool>
                    autoCommit | <boo>
        
        :return     <bool> | success

def setCentralWidget(self, widget, createsNew=True, autoCommit=True):
        """
        Sets the central widget for this popup button.  If createsNew is set
        to True, then the about to show signal from the popup will be linked to
        the widget's reset slot.  If autoCommit is set to True, then the widget
        will commit it's information to the database.
        
        :param      widget | <prjexui.widgets.xorbrecordwidget.XOrbRecordWidget>
                    createsNew | <bool>
                    autoCommit | <boo>
        
        :return     <bool> | success
        """
        if not isinstance(widget, XOrbRecordWidget):
            return False
        
        # assign the widget
        super(XOrbPopupButton, self).setCentralWidget(widget)
        
        # setup widget options
        widget.setAutoCommitOnSave(autoCommit)
        
        # setup popup options
        popup = self.popupWidget()
        popup.setAutoCloseOnAccept(False)
        
        if createsNew and widget.multipleCreateEnabled():
            btn = popup.addButton('Save && Create Another')
            btn.clicked.connect(widget.saveSilent)
        
        # create connections
        popup.accepted.connect(widget.save)
        widget.saved.connect(popup.close)
        widget.saved.connect(self.saved)
        
        if createsNew:
            popup.aboutToShow.connect(widget.reset)
        
        return True