Spec-Zone.ru › GTK 3.20

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, так как это помешает использованию родного диалогового окна.

Нет поддержки сигналов, которые генерируются при навигации пользователя в диалоговом окне, включая:

  • “current-folder-changed”

  • “selection-changed”

  • “file-activated”

  • “confirm-overwrite”

Вы также не можете использовать методы, которые напрямую управляют навигацией пользователя:

  • 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

Заголовок окна, или NULL.

[allow-none]

parent

Родительское окно, или NULL.

[allow-none]

action

Режим диалога (открытие или сохранение)

accept_label

Текст для кнопки «Принять», или NULL для значения по умолчанию.

[allow-none]

cancel_label

Текст для кнопки «Отмена», или NULL для значения по умолчанию.

[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

пользовательская метка или NULL для значения по умолчанию.

[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

пользовательская метка или NULL для значения по умолчанию.

[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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API