GTK+ 2.0 Tutorial

<<< Previous

Next >>>


Управление "Выделениями" (Managing Selections)

Краткий обзор

Один тип межпроцессорной коммуникации поддерживается 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).


<<< Previous

Home

Next >>>

Signal Emission and Propagation

 

Retrieving the selection