GTK选择管理与glib库使用指南
1. GTK选择管理概述
GTK支持的一种进程间通信方式是选择(selections)。选择用于标识用户以某种方式(如鼠标拖动)选择的数据块,例如一段文本。在一个显示器上,同一时间只有一个应用程序(所有者)可以拥有特定的选择。当一个应用程序声明拥有某个选择时,前一个所有者必须向用户表明该选择已被放弃。其他应用程序可以以不同的形式(称为目标)请求选择的内容。虽然可以有任意数量的选择,但大多数X应用程序只处理一个,即主选择。
在大多数情况下,GTK应用程序无需自行处理选择。标准小部件(如Entry小部件)已经具备在适当的时候声明选择(如用户拖动文本时)以及检索其他小部件或应用程序拥有的选择内容(如用户点击鼠标中键时)的能力。然而,某些情况下,你可能希望为其他小部件赋予提供选择的能力,或者检索默认不支持的目标。
理解选择处理的一个基本概念是原子(atom)。原子是一个整数,它唯一标识一个字符串(在特定显示器上)。X服务器预定义了某些原子,在某些情况下, gtk.h 中有与这些原子对应的常量。例如,常量 GDK_PRIMARY_SELECTION 对应字符串 ”PRIMARY”。在其他情况下,你可以使用 gdk_atom_intern() 函数获取与字符串对应的原子,使用 gdk_atom_name() 函数获取原子的名称。选择和目标都由原子标识。
2. 检索选择
检索选择是一个异步过程。要启动该过程,需要调用以下函数:
超级会员免费看
订阅专栏 解锁全文
5

被折叠的 条评论
为什么被折叠?



