Spec-Zone.ru › GTK 3.20

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

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

[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

a 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.20/gtk3-GtkNativeDialog.html

Spec-Zone.ru

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