| |
GTK+ 2.0 Tutorial |
||
---|---|---|
Один тип межпроцессорной коммуникации поддерживается X и GTK это "выделение" (selections). Выделение (selection) идентифицирует порцию данных, например часть текста, выбранных пользователем каким либо способом, например с помощью мыши. Только одно приложение в конкретный момент времени может быть владельцем (the owner) индивидуального выделения (particular selection), предыдущий приложение-владелец должен сообщить пользователю о том что выделение было оставлено. Другие приложения могут просить содержание выделения в различных формах, вызовом targets. Может быть любое число выделений, но большинство приложений X обрабатывает только одно - primary selection.
В большинстве случаев для приложения GTK не обязательно иметь дело с выделениями самостоятельно. Стандартные виджеты, типа виджета Ввода, уже имеют возможность требовать выделения (например, когда пользователь перемещается по тексту) и отыскивать содержимое выделения, принадлежащего другому виджету или другому приложению (например, когда пользователь щелкает второй кнопкой мыши). Однако, могут быть случаи, в которых вы хотите дать другим виджетам способность предоставлять выделение, или вы желаете отыскать адресатов, не поддерживаемых по умолчанию.
Фундаментальное понятие обработки выделений (selection) - atom. Атом - целое число, которое однозначно определяет строку (на определенном дисплее). Определенные атомы предопределены сервером X, и в некоторых случаях есть константы в gtk.h, соответствующие этим атомам. Например константа GDK_PRIMARY_SELECTION соответствует строке "PRIMARY". В других случаях, вы должны использовать функции gdk_atom_intern() - получить атом соответствующей строки и gdk_atom_name() - получить название атома. И selections и targets идентифицируются атомами (atoms).
Signal Emission and Propagation |
|
Retrieving the selection |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |