Spec-Zone.ru › GTK 3.20

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

объект 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

объект GtkPlug.

display

GdkDisplay, ассоциированный с GtkSocket socket_id.

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

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

объект GtkPlug.

Возвращаемое значение

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

gtk_plug_get_embedded ()

gboolean
gtk_plug_get_embedded (GtkPlug *plug);

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

Параметры

plug

объект GtkPlug.

Возвращаемое значение

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

С: 2.14

gtk_plug_get_socket_window ()

GdkWindow *
gtk_plug_get_socket_window (GtkPlug *plug);

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

Параметры

plug

объект 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.20/GtkPlug.html

Spec-Zone.ru

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