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, который позволяет это сделать. Он позволяет устанавливать различные общие свойства диалога, а также отображать и скрывать его, и получать сигнал “response”, когда пользователь завершает работу с диалогом.
Также есть вспомогательная функция gtk_native_dialog_run(), которая упрощает запуск любого нативного диалога в модальном режиме с рекурсивным циклом обработки событий, аналогично gtk_dialog_run().
Функции
gtk_native_dialog_show ()
void
gtk_native_dialog_show (GtkNativeDialog *self); Отображает диалоговое окно на экране, позволяя пользователю взаимодействовать с ним. Когда пользователь принимает состояние диалогового окна, оно будет автоматически скрыто, и будет выпущен сигнал “response”.
Несколько вызовов, пока диалоговое окно отображено, будут проигнорированы.
Параметры
self | объект GtkNativeDialog |
С версии: 3.20
gtk_native_dialog_hide ()
void
gtk_native_dialog_hide (GtkNativeDialog *self); Скрывает диалоговое окно, если оно отображено, прерывая любое взаимодействие. После этого вызова сигнал “response” не будет выпущен до следующего вызова gtk_native_dialog_show().
Если диалоговое окно не отображено, ничего не происходит.
Параметры
self | объект GtkNativeDialog |
С версии: 3.20
gtk_native_dialog_destroy ()
void
gtk_native_dialog_destroy (GtkNativeDialog *self); Удаляет диалоговое окно.
При уничтожении диалогового окна, оно прерывает все ссылки на другие объекты. Если оно отображено, оно будет скрыто, а все соответствующие системные ресурсы будут уничтожены.
Обратите внимание, что это не освобождает ссылку на объект (в отличие от уничтожения GtkWindow), потому что система окон не ссылается на GtkNativeDialog.
Параметры
self | объект GtkNativeDialog |
С версии: 3.20
gtk_native_dialog_get_visible ()
gboolean
gtk_native_dialog_get_visible (GtkNativeDialog *self); Определяет, отображено ли диалоговое окно.
Параметры
self | объект 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 | объект GtkNativeDialog | |
modal | является ли окно модальным |
С версии: 3.20
gtk_native_dialog_get_modal ()
gboolean
gtk_native_dialog_get_modal (GtkNativeDialog *self); Возвращает, является ли диалоговое окно модальным. См. gtk_native_dialog_set_modal().
Параметры
self | объект GtkNativeDialog |
Возвращает
TRUE если диалоговое окно настроено как модальное
С версии: 3.20
gtk_native_dialog_set_title ()
void gtk_native_dialog_set_title (GtkNativeDialog *self,const char *title);
Устанавливает заголовок диалогового окна GtkNativeDialog.
Параметры
self | объект GtkNativeDialog | |
title | заголовок диалогового окна |
С версии: 3.20
gtk_native_dialog_get_title ()
const char *
gtk_native_dialog_get_title (GtkNativeDialog *self); Получает заголовок диалогового окна GtkNativeDialog.
Параметры
self | объект 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 | объект 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 | объект 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 |
Возвращает
идентификатор ответа
С момента: 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);
};
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/gtk3-GtkNativeDialog.html