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 () |
Свойства
| gboolean | modal | Чтение / Запись |
| char * | title | Чтение / Запись |
| GtkWindow * | transient-for | Чтение / Запись / Создание |
| gboolean | visible | Чтение / Запись |
Сигналы
| void | response | Выполняется последним |
Типы и значения
Иерархия объектов
GObject
╰── GtkNativeDialog
╰── GtkFileChooserNative
Файлы заголовков
#include <gtk/gtk.h>
Описание
Системные диалоговые окна — это диалоговые окна платформы, которые не используют GtkDialog или GtkWindow. Они используются для лучшей интеграции с платформой, выглядя так же, как и другие приложения на платформе, и поддерживая платформенно-специфичные возможности.
Функции GtkDialog не могут использоваться с такими объектами, но нам нужен аналогичный API для их управления. Объект GtkNativeDialog — это API, позволяющий это сделать. Он позволяет устанавливать различные общие свойства диалогового окна, а также показывать и скрывать его и получать сигнал «response», когда пользователь завершает работу с диалоговым окном.
Обратите внимание, что в отличие от GtkDialog, объекты GtkNativeDialog не являются виджетами верхнего уровня, и GTK не сохраняет их в живом состоянии. Вы несете ответственность за поддержание ссылки до тех пор, пока вы не закончите работу с объектом.
Функции
gtk_native_dialog_show ()
void
gtk_native_dialog_show (GtkNativeDialog *self); Отображает диалог на дисплее, позволяя пользователю с ним взаимодействовать. Когда пользователь принимает состояние диалога, диалог будет автоматически скрыт, и будет выпущен сигнал “response”.
Множественные вызовы, пока диалог виден, будут проигнорированы.
Параметры
self | объект GtkNativeDialog |
gtk_native_dialog_hide ()
void
gtk_native_dialog_hide (GtkNativeDialog *self); Скрывает диалог, если он виден, прерывая любое взаимодействие. После вызова этого метода сигнал “response” не будет выпущен до следующего вызова gtk_native_dialog_show().
Если диалог не виден, ничего не происходит.
Параметры
self | объект GtkNativeDialog |
gtk_native_dialog_destroy ()
void
gtk_native_dialog_destroy (GtkNativeDialog *self); Уничтожает диалог.
При уничтожении диалога, он разорвёт все ссылки на другие объекты. Если он виден, он будет скрыт, и все базовые ресурсы системы окон будут уничтожены.
Обратите внимание, что это не освобождает ссылку на объект (в отличие от уничтожения GtkWindow), так как нет ссылки от системы окон на GtkNativeDialog.
Параметры
self | объект GtkNativeDialog |
gtk_native_dialog_get_visible ()
gboolean
gtk_native_dialog_get_visible (GtkNativeDialog *self); Определяет, виден ли диалог.
Параметры
self | объект GtkNativeDialog |
Возвращает
TRUE , если диалог виден
gtk_native_dialog_set_modal ()
void gtk_native_dialog_set_modal (GtkNativeDialog *self,gboolean modal);
Устанавливает диалог в модальный или немодальный режим. Модальные диалоги препятствуют взаимодействию с другими окнами в том же приложении. Чтобы модальные диалоги оставались поверх основных окон приложения, используйте gtk_native_dialog_set_transient_for() для задания диалога как дочернего для родительского окна; большинство менеджеров окон затем не позволят опустить диалог ниже родительского окна.
Параметры
self | объект GtkNativeDialog | |
modal | является ли окно модальным |
gtk_native_dialog_get_modal ()
gboolean
gtk_native_dialog_get_modal (GtkNativeDialog *self); Возвращает, является ли диалог модальным. См. gtk_native_dialog_set_modal().
Параметры
self | объект GtkNativeDialog |
Возвращает
TRUE , если диалог настроен как модальный
gtk_native_dialog_set_title ()
void gtk_native_dialog_set_title (GtkNativeDialog *self,const char *title);
Устанавливает заголовок GtkNativeDialog.
Параметры
self | объект GtkNativeDialog | |
title | заголовок диалога |
gtk_native_dialog_get_title ()
const char *
gtk_native_dialog_get_title (GtkNativeDialog *self); Получает заголовок GtkNativeDialog.
Параметры
self | объект GtkNativeDialog |
Возвращает
заголовок диалога, или NULL , если он не был явно задан. Возвращаемая строка принадлежит виджету и не должна изменяться или освобождаться.
[nullable]
gtk_native_dialog_set_transient_for ()
void gtk_native_dialog_set_transient_for (GtkNativeDialog *self,GtkWindow *parent);
Окна диалога должны быть дочерними для главного окна приложения, из которого они были созданы. Это позволяет менеджерам окон, например, держать диалог поверх главного окна или центрировать диалог над главным окном.
Передача NULL для parent отменяет текущее дочернее окно.
Параметры
self | объект GtkNativeDialog | |
parent | родительское окно или | [allow-none] |
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]
Типы и значения
GtkNativeDialog
typedef struct _GtkNativeDialog GtkNativeDialog;
struct GtkNativeDialogClass
struct GtkNativeDialogClass {
void (* response) (GtkNativeDialog *self, int response_id);
};
Структура класса для GtkNativeDialog.
Члены
| обработчик сигнала “response” |
Подробное описание свойств
Свойство “modal”
“modal” gboolean
Указывает, должно ли окно быть модальным относительно его дочернего окна.
Владелец: GtkNativeDialog
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
Свойство “title”
“title” char *
Заголовок окна диалога
Владелец: GtkNativeDialog
Флаги: Чтение/Запись
Значение по умолчанию: NULL
Свойство “transient-for”
“transient-for” GtkWindow *
Дочернее окно диалога, или NULL для отсутствия.
Владелец: GtkNativeDialog
Флаги: Чтение/Запись/Конструктор
Свойство “visible”
“visible” gboolean
Является ли окно в данный момент видимым.
Владелец: GtkNativeDialog
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
Подробное описание сигналов
Сигнал “response”
void user_function (GtkNativeDialog *self, int response_id, gpointer user_data)
Вызывается, когда пользователь отвечает на диалоговое окно.
К этому моменту диалоговое окно уже скрыто.
Если вызвать gtk_native_dialog_hide() до того, как пользователь ответит на диалоговое окно, этот сигнал не будет выпущен.
Параметры
self | объект, на котором испускается сигнал | |
response_id | идентификатор ответа | |
user_data | данные пользователя, установленные при подключении обработчика сигналов. |
Флаги: Run Last
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkNativeDialog.html