Spec-Zone.ru › GTK 3.22

GtkPlug

GtkPlug — Окно верхнего уровня для встраивания в другие процессы

Функции

void gtk_plug_construct ()
void gtk_plug_construct_for_display ()
GtkWidget * gtk_plug_new ()
GtkWidget * gtk_plug_new_for_display ()
Window gtk_plug_get_id ()
gboolean gtk_plug_get_embedded ()
GdkWindow * gtk_plug_get_socket_window ()

Свойства

gboolean embedded Только для чтения
GdkWindow * socket-window Только для чтения

Сигналы

void embedded Выполняется последним

Типы и значения

struct GtkPlug

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkWindow
                        ╰── GtkPlug

Реализованные интерфейсы

GtkPlug реализует AtkImplementorIface и GtkBuildable.

Файлы заголовков

#include <gtk/gtkx.h>

Описание

Вместе с GtkSocket, GtkPlug предоставляет возможность встраивать виджеты из одного процесса в другой процесс таким образом, что это прозрачно для пользователя. Один процесс создает GtkSocket виджет и передает идентификатор окна этого виджета другому процессу, который затем создает GtkPlug с этим идентификатором окна. Любые виджеты, содержащиеся в GtkPlug, затем будут отображаться внутри окна первого приложения.

Обмен данными между GtkSocket и GtkPlug происходит по протоколу XEmbed. Этот протокол также реализован в других наборах инструментов, например, Qt, что позволяет достичь такой же интеграции при встраивании виджета Qt в GTK+ или наоборот.

Виджеты GtkPlug и GtkSocket доступны только при компиляции GTK+ для платформы X11 и определении GDK_WINDOWING_X11. Они могут использоваться только на GdkX11Display. Чтобы использовать GtkPlug и GtkSocket, вам необходимо включить заголовок gtk/gtkx.h.

Функции

gtk_plug_construct ()

void
gtk_plug_construct (GtkPlug *plug,
                    Window socket_id);

Завершить инициализацию plug для заданного GtkSocket, идентифицированного по socket_id. Эта функция, как правило, будет использоваться только классами, производными от GtkPlug.

Параметры

plug

a GtkPlug.

socket_id

Идентификатор окна сокета в формате XID.

gtk_plug_construct_for_display ()

void
gtk_plug_construct_for_display (GtkPlug *plug,
                                GdkDisplay *display,
                                Window socket_id);

Завершить инициализацию plug для заданного GtkSocket, идентифицированного по socket_id, который в настоящее время отображается на display. Эта функция, как правило, будет использоваться только классами, производными от GtkPlug.

Параметры

plug

a GtkPlug.

display

the GdkDisplay связанный с socket_id’s GtkSocket.

socket_id

Идентификатор окна сокета в формате XID.

С версии: 2.2

gtk_plug_new ()

GtkWidget *
gtk_plug_new (Window socket_id);

Создаёт новый виджет plug внутри GtkSocket, идентифицированного по socket_id. Если socket_id равно 0, plug остается «отсоединённым» и его можно позже подключить к GtkSocket с помощью gtk_socket_add_id().

Параметры

socket_id

Идентификатор окна сокета, или 0.

Возвращает

новый виджет GtkPlug.

gtk_plug_new_for_display ()

GtkWidget *
gtk_plug_new_for_display (GdkDisplay *display,
                          Window socket_id);

Создаёт новый виджет plug внутри GtkSocket, идентифицированного по socket_id.

Параметры

display

the GdkDisplay на котором отображается socket_id

socket_id

Идентификатор окна сокета в формате XID.

Возвращает

новый виджет GtkPlug.

С версии: 2.2

gtk_plug_get_id ()

Window
gtk_plug_get_id (GtkPlug *plug);

Получает идентификатор окна виджета GtkPlug, который можно использовать для встраивания этого окна в другое окно, например, с помощью gtk_socket_add_id().

Параметры

plug

a GtkPlug.

Возвращает

Идентификатор окна для plug.

gtk_plug_get_embedded ()

gboolean
gtk_plug_get_embedded (GtkPlug *plug);

Определяет, встроен ли plug в сокет.

Параметры

plug

a GtkPlug

Возвращает

TRUE, если plug встроен в сокет

С версии: 2.14

gtk_plug_get_socket_window ()

GdkWindow *
gtk_plug_get_socket_window (GtkPlug *plug);

Возвращает сокет, в который встроен plug.

Параметры

plug

a GtkPlug

Возвращает

окно сокета или NULL.

[nullable][transfer none]

С версии: 2.14

Типы и значения

struct GtkPlug

struct GtkPlug;

Подробные сведения о свойствах

Свойство “embedded”

  “embedded”                 gboolean

TRUE, если plug встроен в сокет.

Флаги: Чтение

Значение по умолчанию: FALSE

С версии: 2.12

Свойство “socket-window”

  “socket-window”            GdkWindow *

Окно сокета, в который встроен plug.

Флаги: Чтение

С версии: 2.14

Подробные сведения о сигналах

Сигнал “embedded”

void
user_function (GtkPlug *plug,
               gpointer user_data)

Издаётся, когда plug становится встроенным в сокет.

Параметры

plug

объект, на котором был издан сигнал

user_data

пользовательские данные, установленные при подключении обработчика сигналов.

Флаги: Run Last

См. также

GtkSocket

© 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/GtkPlug.html

Spec-Zone.ru

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