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 | Идентификатор окна сокета в формате 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 | Идентификатор окна сокета в формате XID. |
Возвращает
новый виджет GtkPlug.
С версии: 2.2
gtk_plug_get_id ()
Window
gtk_plug_get_id (GtkPlug *plug); Получает идентификатор окна виджета GtkPlug, который можно использовать для встраивания этого окна в другое окно, например, с помощью gtk_socket_add_id().
Параметры
plug | a GtkPlug. |
Возвращает
Идентификатор окна для plug.
Типы и значения
struct GtkPlug
struct GtkPlug;
Подробные сведения о свойствах
Свойство “embedded”
“embedded” gboolean
TRUE, если plug встроен в сокет.
Флаги: Чтение
Значение по умолчанию: FALSE
С версии: 2.12
Свойство “socket-window”
“socket-window” GdkWindow *
Окно сокета, в который встроен plug.
Флаги: Чтение
С версии: 2.14
Подробные сведения о сигналах
См. также
© 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