def reset(self, force=False):
        """
        Clears out all the views and panels and resets the widget to a blank \
        parent.
        
        :return     <bool>
        """
        answer = QtGui.QMessageBox.Yes
        opts = QtGui.QMessageBox.Yes | QtGui.QMessageBox.No
        
        if not force:
            answer = QtGui.QMessageBox.question(self,
                                                'Reset Layout',
                                                'Are you sure you want to reset?',
                                                opts)
        
        if answer == QtGui.QMessageBox.No:
            return
        
        widget = self.widget()
        
        # we should always have a widget, but double check
        if not widget:
            return False
        
        # make sure we can close the current view
        if not widget.close():
            return False
        
        # reset the system
        self.takeWidget()
        
        # restore a default profile
        prof = self.defaultProfile()
        if prof:
            return prof.restore(self)
        
        # otherwise create a new panel
        else:
            self.setLocked(False)
            self.setWidget(XViewPanel(self, False))

        self.resetFinished.emit()
        return True