GtkNativeDialog
GtkNativeDialog — Интеграция с диалоговыми окнами системы
Функции
| void | gtk_native_dialog_show () |
| void | gtk_native_dialog_hide () |
| void | gtk_native_dialog_destroy () |
| gboolean | gtk_native_dialog_get_visible () |
| void | gtk_native_dialog_set_modal () |
| gboolean | gtk_native_dialog_get_modal () |
| void | gtk_native_dialog_set_title () |
| const char * | gtk_native_dialog_get_title () |
| void | gtk_native_dialog_set_transient_for () |
| GtkWindow * | gtk_native_dialog_get_transient_for () |
| gint | gtk_native_dialog_run () |
Типы и значения
| #define | GTK_TYPE_NATIVE_DIALOG |
| struct | GtkNativeDialogClass |
Файлы заголовочных определений
#include <gtk/gtk.h>
Описание
Диалоговые окна системы — это диалоговые окна платформы, которые не используют GtkDialog или GtkWindow. Они используются для лучшей интеграции с платформой, выглядя аналогично другим приложениям и поддерживая специфичные для платформы функции.
Функции GtkDialog не могут быть использованы с такими объектами, но нам необходим аналогичный API для их управления. Объект GtkNativeDialog — это API, который позволяет это сделать. Он позволяет задавать различные общие свойства диалогового окна, а также показывать и скрывать его, и получать сигнал “ответ”, когда пользователь завершил работу с диалоговым окном.
Также есть вспомогательная функция gtk_native_dialog_run(), которая упрощает запуск любого диалогового окна системы в модальном режиме с рекурсивным циклом обработки событий, аналогично gtk_dialog_run().
Функции
gtk_native_dialog_show ()
void gtk_native_dialog_show (GtkNativeDialog *self);
Отображает диалоговое окно на экране, позволяя пользователю взаимодействовать с ним. Когда пользователь принимает состояние диалогового окна, оно автоматически скрывается, и отправляется сигнал “response”.
Многократные вызовы, пока диалоговое окно отображено, будут проигнорированы.
Параметры
self | a GtkNativeDialog |
С момента: 3.20
gtk_native_dialog_hide ()
void gtk_native_dialog_hide (GtkNativeDialog *self);
Скрывает диалоговое окно, если оно отображено, прерывая любое взаимодействие. После этого вызова сигнал “response” не будет отправлен до следующего вызова gtk_native_dialog_show().
Если диалоговое окно не отображается, ничего не происходит.
Параметры
self | a GtkNativeDialog |
С момента: 3.20
gtk_native_dialog_destroy ()
void gtk_native_dialog_destroy (GtkNativeDialog *self);
Уничтожает диалоговое окно.
При уничтожении диалогового окна, оно разрывает все ссылки на другие объекты. Если оно отображается, оно будет скрыто, а все подлежащие ресурсы системного окна будут уничтожены.
Обратите внимание, что это не освобождает ссылку на объект (в отличие от уничтожения GtkWindow), потому что нет ссылки от системы окон на GtkNativeDialog.
Параметры
self | a GtkNativeDialog |
С момента: 3.20
gtk_native_dialog_get_visible ()
gboolean
gtk_native_dialog_get_visible (GtkNativeDialog *self); Определяет, отображается ли диалоговое окно.
Параметры
self | a GtkNativeDialog |
Возвращает
TRUE, если диалоговое окно отображается
С момента: 3.20
gtk_native_dialog_set_modal ()
void gtk_native_dialog_set_modal (GtkNativeDialog *self,gboolean modal);
Устанавливает диалоговое окно в модальный или немодальный режим. Модальные диалоговые окна предотвращают взаимодействие с другими окнами в том же приложении. Чтобы модальные диалоговые окна оставались поверх основных окон приложения, используйте gtk_native_dialog_set_transient_for(), чтобы сделать диалоговое окно временным для родительского; большинство менеджеров окон затем запретят выводить диалоговое окно ниже родительского.
Параметры
self | a GtkNativeDialog | |
modal | является ли окно модальным |
С момента: 3.20
gtk_native_dialog_get_modal ()
gboolean
gtk_native_dialog_get_modal (GtkNativeDialog *self); Возвращает, является ли диалоговое окно модальным. См. gtk_native_dialog_set_modal().
Параметры
self | a GtkNativeDialog |
Возвращает
TRUE, если диалоговое окно настроено как модальное
С момента: 3.20
gtk_native_dialog_set_title ()
void
gtk_native_dialog_set_title (GtkNativeDialog *self,
const char *title); Устанавливает заголовок GtkNativeDialog.
Параметры
self | a GtkNativeDialog | |
title | заголовок диалогового окна |
С момента: 3.20
gtk_native_dialog_get_title ()
const char * gtk_native_dialog_get_title (GtkNativeDialog *self);
Возвращает заголовок GtkNativeDialog.
Параметры
self | a GtkNativeDialog |
Возвращает
заголовок диалогового окна, или NULL, если явно не задан. Возвращаемая строка принадлежит виджету и не должна изменяться или освобождаться.
[nullable]
С момента: 3.20
gtk_native_dialog_set_transient_for ()
void gtk_native_dialog_set_transient_for (GtkNativeDialog *self,GtkWindow *parent);
Диалоговые окна должны быть установлены как временные для основного окна приложения, из которого они были созданы. Это позволяет менеджерам окон например, держать диалоговое окно поверх основного окна или центрировать диалоговое окно над основным окном.
Передача NULL для parent сбрасывает текущее временное окно.
Параметры
self | a GtkNativeDialog | |
parent | родительское окно, или | [allow-none] |
С момента: 3.20
gtk_native_dialog_get_transient_for ()
GtkWindow *
gtk_native_dialog_get_transient_for (GtkNativeDialog *self); Получает временного родителя для этого окна. См. gtk_native_dialog_set_transient_for().
Параметры
self | a GtkNativeDialog |
Возвращает
временного родителя для этого окна, или NULL, если временный родитель не задан.
[nullable][transfer none]
С момента: 3.20
gtk_native_dialog_run ()
gint
gtk_native_dialog_run (GtkNativeDialog *self); Блокирует выполнение в рекурсивном главном цикле до тех пор, пока self не выпустит сигнал “response”. Затем возвращает идентификатор ответа из сигнала ::response.
Перед входом в рекурсивный главный цикл, gtk_native_dialog_run() вызывает gtk_native_dialog_show() для диалогового окна.
После того, как gtk_native_dialog_run() вернётся, диалоговое окно будет скрыто.
Типичное использование этой функции:
gint result = gtk_native_dialog_run (GTK_NATIVE_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: do_application_specific_something (); break; default: do_nothing_since_dialog_was_cancelled (); break; } g_object_unref (dialog);
Обратите внимание, что, хотя рекурсивный главный цикл имитирует модальное диалоговое окно (он предотвращает взаимодействие пользователя с другими окнами в той же группе окон во время выполнения диалогового окна), такие обратные вызовы, как таймауты, наблюдение за каналами ввода-вывода, перемещения с помощью перетаскивания и т. д., будут вызываться во время выполнения gtk_nautilus_dialog_run().
Параметры
self | объект GtkNativeDialog |
Возвращаемое значение
идентификатор ответа
С: 3.20
Типы и значения
GTK_TYPE_NATIVE_DIALOG
#define GTK_TYPE_NATIVE_DIALOG (gtk_native_dialog_get_type ())
struct GtkNativeDialogClass
struct GtkNativeDialogClass {
GObjectClass parent_class;
void (* response) (GtkNativeDialog *self, gint response_id);
};
См. также
GtkFileChooserNative, GtkDialog
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/gtk3-GtkNativeDialog.html