GtkFileChooserNative
GtkFileChooserNative — Диалоговое окно выбора файла, подходящее для команд «Файл/Открыть» или «Файл/Сохранить»
Функции
| GtkFileChooserNative * | gtk_file_chooser_native_new () |
| const char * | gtk_file_chooser_native_get_accept_label () |
| void | gtk_file_chooser_native_set_accept_label () |
| const char * | gtk_file_chooser_native_get_cancel_label () |
| void | gtk_file_chooser_native_set_cancel_label () |
Включенные заголовки
#include <gtk/gtk.h>
Описание
GtkFileChooserNative — это абстракция диалогового окна, подходящего для использования с командами «Файл/Открыть» или «Файл/Сохранить как». По умолчанию для реализации диалогового окна используется GtkFileChooserDialog. Однако на некоторых платформах, таких как Windows, используется собственный файловый выборник платформы.
Хотя API GtkFileChooserNative тесно связан с GtkFileChooserDialog, основное различие заключается в том, что нет доступа к любому GtkWindow или GtkWidget для диалогового окна. Это необходимо, так как на платформе может отсутствовать диалоговое окно.
Типичное использование
В простейшем случае для выбора файла для открытия можно использовать следующий код:
Для использования диалога для сохранения можно использовать это:
GtkFileChooserNative*native; GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN; gint res; native =gtk_file_chooser_native_new("Open File", parent_window, action, "_Open", "_Cancel"); res =gtk_native_dialog_run(GTK_NATIVE_DIALOG(native)); if(res == GTK_RESPONSE_ACCEPT) { char*filename; GtkFileChooser*chooser =GTK_FILE_CHOOSER(native); filename =gtk_file_chooser_get_filename(chooser); open_file(filename); g_free(filename); } g_object_unref(native);
Дополнительную информацию о том, как лучше настроить диалоговое окно выбора файла, см. в разделе GtkFileChooserDialog.
Коды ответов
GtkFileChooserNative наследуется от GtkNativeDialog, поэтому он вернёт GTK_RESPONSE_ACCEPT, если пользователь подтвердил, и GTK_RESPONSE_CANCEL, если он нажал отмену. Он также может вернуть GTK_RESPONSE_DELETE_EVENT, если окно было неожиданно закрыто.
Отличия от GtkFileChooserDialog
Существуют некоторые аспекты API GtkFileChooser, которые невозможно использовать с GtkFileChooserNative, так как это помешает использованию родного диалогового окна.
Нет поддержки сигналов, которые генерируются при навигации пользователя в диалоговом окне, включая:
Вы также не можете использовать методы, которые напрямую управляют навигацией пользователя:
gtk_file_chooser_unselect_filename()
gtk_file_chooser_select_all()
gtk_file_chooser_unselect_all()
Если вам необходимо что-либо из вышеперечисленного, вы должны использовать GtkFileChooserDialog напрямую.
Никакие операции, изменяющие диалоговое окно, не работают во время его отображения. Установите все необходимые свойства перед отображением диалогового окна.
Подробности для Win32
В Windows используется реализация IFileDialog (добавлена в Windows Vista). Она поддерживает многие функции, которые делает GtkFileChooserDialog, но есть некоторые вещи, которые она не обрабатывает:
Дополнительные виджеты, добавленные с помощью
gtk_file_chooser_set_extra_widget().Использование пользовательских превью, подключившись к “update-preview”.
Любой GtkFileFilter, добавленный с помощью MIME-типа или пользовательского фильтра.
Если используются какие-либо из этих функций, вместо родного диалогового окна будет использоваться обычный GtkFileChooserDialog.
Функции
gtk_file_chooser_native_new ()
GtkFileChooserNative * gtk_file_chooser_native_new (const gchar *title,GtkWindow *parent,GtkFileChooserAction action,const gchar *accept_label,const gchar *cancel_label);
Создаёт новый GtkFileChooserNative.
Параметры
title | Заголовок окна, или | [allow-none] |
parent | Родительское окно, или | [allow-none] |
action | Режим диалога (открытие или сохранение) | |
accept_label | Текст для кнопки «Принять», или | [allow-none] |
cancel_label | Текст для кнопки «Отмена», или | [allow-none] |
Возвращает
новый GtkFileChooserNative.
С: 3.20
gtk_file_chooser_native_get_accept_label ()
const char *
gtk_file_chooser_native_get_accept_label
(GtkFileChooserNative *self); Возвращает текст пользовательской метки для кнопки «Принять».
Параметры
self | объект GtFileChooserNative |
Возвращает
Пользовательскую метку, или NULL для значения по умолчанию. Эта строка принадлежит GTK+ и не должна изменяться или освобождаться.
[nullable]
С: 3.20
gtk_file_chooser_native_set_accept_label ()
void
gtk_file_chooser_native_set_accept_label
(GtkFileChooserNative *self,
const char *accept_label); Устанавливает пользовательский текст метки для кнопки «Принять».
Если символы в label предваряются нижним подчёркиванием, они подчеркиваются. Если вам нужен буквальный символ нижнего подчёркивания в метке, используйте «__» (два нижних подчёркивания). Первый подчеркнутый символ представляет собой сочетание клавиш, так называемый мнемоник. Нажатие Alt и этой клавиши активирует кнопку.
Параметры
self | объект GtFileChooserNative | |
accept_label | пользовательская метка или | [allow-none] |
С: 3.20
gtk_file_chooser_native_get_cancel_label ()
const char *
gtk_file_chooser_native_get_cancel_label
(GtkFileChooserNative *self); Возвращает пользовательский текст метки для кнопки «Отмена».
Параметры
self | объект GtFileChooserNative |
Возвращает
Пользовательскую метку, или NULL для значения по умолчанию. Эта строка принадлежит GTK+ и не должна изменяться или освобождаться.
[nullable]
С: 3.20
gtk_file_chooser_native_set_cancel_label ()
void
gtk_file_chooser_native_set_cancel_label
(GtkFileChooserNative *self,
const char *cancel_label); Устанавливает пользовательский текст метки для кнопки «Отмена».
Если символы в label предваряются нижним подчёркиванием, они подчеркиваются. Если вам нужен буквальный символ нижнего подчёркивания в метке, используйте «__» (два нижних подчёркивания). Первый подчеркнутый символ представляет собой сочетание клавиш, так называемый мнемоник. Нажатие Alt и этой клавиши активирует кнопку.
Параметры
self | объект GtFileChooserNative | |
cancel_label | пользовательская метка или | [allow-none] |
С: 3.20
Типы и значения
См. также
GtkFileChooser, GtkNativeDialog, GtkFileChooserDialog
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/gtk3-GtkFileChooserNative.html