# Вспомогательные функции

class axipy.SelectedFilter

  Класс-контейнер, используемый в файловых диалогах, для получения выбранного пользователем фильтра.

  filter: Optional[str]

    Атрибут, который примет значения выбранного фильтра после успешного открытия файлов диалогом.

axipy.open_file_dialog(filter_arg: Optional[str] = None, title: Optional[str] = None, folder: Optional[Union[str, Path]] = None, file_name: Optional[str] = None, selected_filter: Optional[Union[str, SelectedFilter]] = None, icon: Optional[QIcon] = None, set_last_open_path: bool = True) → Optional[Path]

  Открывает диалог выбора файла. Если нет главного окна Аксиомы, спрашивает путь к файлу в консоли.

  Параметры:

    - filter_arg – Типы файлов. Например: `'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'`.

    - title – Заголовок диалога.

    - folder – Начальная папка диалога. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

    - file_name – Предлагаемое в диалоге имя файла

    - selected_filter – Выбранный фильтр типов файлов. Устанавливается необходимая строка из параметра filter_arg. Например, `'Таблицы Excel (*.xls *.xlsx)'`. Также, можно использовать класс-контейнер axipy.SelectedFilter, чтобы получить значение фильтра, выбранное пользователем.

    - icon – Иконка для диалога, если необходимо ее переопределить

    - set_last_open_path – Автоматически запоминать путь открытия в настройках Аксиомы.

  Результат:

    Возвращает путь к выбранному файлу или None.

axipy.open_files_dialog(filter_arg: Optional[str] = None, title: Optional[str] = None, folder: Optional[Union[str, Path]] = None, selected_filter: Optional[Union[str, SelectedFilter]] = None, icon: Optional[QIcon] = None, set_last_open_path: bool = True) → Optional[Tuple[Path, ...]]

  Открывает диалог выбора нескольких файлов.

  Параметры:

    - filter_arg – Типы файлов. Например: `'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'`.

    - title – Заголовок диалога.

    - folder – Начальная папка диалога или же имя файла. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

    - selected_filter – Выбранный фильтр типов файлов. Устанавливается необходимая строка из параметра filter_arg. Например, `'Таблицы Excel (*.xls *.xlsx)'`. Также, можно использовать класс-контейнер axipy.SelectedFilter, чтобы получить значение фильтра, выбранное пользователем.

    - icon – Иконка для диалога, если необходимо ее переопределить

    - set_last_open_path – Автоматически запоминать путь открытия в настройках Аксиомы.

  Результат:

    Возвращает список с путями к выбранным файлам или None.

  Пример:

      title = 'Файлы для открытия'
      filter = 'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'
      folder = Path('/home/user/outfile.tab')
      selected_filter = 'MapInfo Tab (*.tab)'
      res = axipy.open_files_dialog(filter, title, folder, selected_filter)
      [print(fn) for fn in res]

axipy.save_file_dialog(filter_arg: Optional[str] = None, title: Optional[str] = None, folder: Optional[Path] = None, file_name: Optional[str] = None, selected_filter: Optional[Union[str, SelectedFilter]] = None, icon: Optional[QIcon] = None, set_last_save_path: bool = True) → Optional[Path]

  Открывает диалог сохранения файла. Если нет главного окна Аксиомы, спрашивает путь к файлу в консоли.

  Параметры:

    - filter_arg – Типы файлов. Например: `'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'`.

    - title – Заголовок диалога.

    - folder – Начальная папка диалога. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

    - file_name – Предлагаемое в диалоге имя файла.

    - selected_filter – Выбранный фильтр типов файлов. Устанавливается необходимая строка из параметра filter_arg. Например, `'Таблицы Excel (*.xls *.xlsx)'`. Также, можно использовать класс-контейнер axipy.SelectedFilter, чтобы получить значение фильтра, выбранное пользователем.

    - icon – Иконка для диалога, если необходимо ее переопределить.

    - set_last_save_path – Автоматически запоминать путь сохранения в настройках Аксиомы.

  Результат:

    Возвращает выбранный путь сохранения или None.

axipy.select_folder_dialog(title: Optional[str] = None, folder: Optional[Union[str, Path]] = None) → Optional[Path]

  Открывает диалог выбора папки. Если нет главного окна Аксиомы, спрашивает путь к файлу в консоли.

  Параметры:

    - title – Заголовок диалога.

    - folder – Начальная папка диалога. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

  Результат:

    Возвращает выбранную папку или None.

axipy.execfile(path: Union[str, Path])

  Выполняет скрипт на языке python из файла.

  Параметры:

    path – Путь к исполняемому файлу.

axipy.get_dependencies_folder() → Path

  Возвращает папку, для установки зависимых пакетов.

axipy.run_in_gui(function: Callable, *args: Any, **kwargs: Any) → Any

  Выполняет переданную функцию в потоке интерфейса.

  Это может быть удобно, когда в процессе выполнения длительной фоновой задачи нужно спросить о чем нибудь пользователя отобразив диалог. Также создавать/взаимодействовать с некоторыми объектами можно только из потока интерфейса.