def METHOD_NAME(self, filename):
    # Add preview tabs as appropriate
    if not os.path.isdir(filename) and filename != '':
        try:
            results = Results.load(str(filename))
        except ValueError:
            return
        except Exception as e:
            raise e
        for widget in self.preview_widget_list:
            widget.clear_widget()
            widget.load(widget.new_curve(results))
        self.preview_param.clear()
        for key, param in results.procedure.parameter_objects().items():
            new_item = QtWidgets.QTreeWidgetItem([param.name, str(param)])
            self.preview_param.addTopLevelItem(new_item)
        self.preview_param.sortItems(0, QtCore.Qt.SortOrder.AscendingOrder)
        self.preview_metadata.clear()
        for key, metadata in results.procedure.metadata_objects().items():
            new_item = QtWidgets.QTreeWidgetItem([metadata.name, str(metadata)])
            self.preview_metadata.addTopLevelItem(new_item)
        self.preview_metadata.sortItems(0, QtCore.Qt.SortOrder.AscendingOrder)