def _create_control(self, parent):
        # If the caller provided a default path instead of a default directory
        # and filename, split the path into it directory and filename
        # components.
        if len(self.default_path) != 0 and len(self.default_directory) == 0 \
            and len(self.default_filename) == 0:
            default_directory, default_filename = os.path.split(self.default_path)
        else:
            default_directory = self.default_directory
            default_filename = self.default_filename

        # Convert the filter.
        filters = []
        for filter_list in self.wildcard.split('|')[::2]:
            # Qt uses spaces instead of semicolons for extension separators
            filter_list = filter_list.replace(';', ' ')
            filters.append(filter_list)

        # Set the default directory.
        if not default_directory:
            default_directory = QtCore.QDir.currentPath()

        dlg = QtGui.QFileDialog(parent, self.title, default_directory)
        dlg.setViewMode(QtGui.QFileDialog.Detail)
        dlg.selectFile(default_filename)
        dlg.setNameFilters(filters)

        if len(filters) < self.wildcard_index:
            dlg.selectNameFilter(filters[self.wildcard_index])

        if self.action == 'open':
            dlg.setAcceptMode(QtGui.QFileDialog.AcceptOpen)
            dlg.setFileMode(QtGui.QFileDialog.ExistingFile)
        elif self.action == 'open files':
            dlg.setAcceptMode(QtGui.QFileDialog.AcceptOpen)
            dlg.setFileMode(QtGui.QFileDialog.ExistingFiles)
        else:
            dlg.setAcceptMode(QtGui.QFileDialog.AcceptSave)
            dlg.setFileMode(QtGui.QFileDialog.AnyFile)

        return dlg

    ###########################################################################
    # Trait handlers.
    ###########################################################################
dataset/ETHPy150Open enthought/pyface/pyface/ui/qt4/file_dialog.py/FileDialog._create_control/swapped operands of `<`