Tim-Philipp Muller
这是一份关于透过C语言使用GTK(GIMP工具箱)的GtkTreeView元件的教学。
请 mail 所有的意见和建议至 <tim at centricular dot net>
这份教学有 tarball 档可以离线阅读其中包括了范例程式码,档案可以在: treeview-tutorial.tar.gz 下载。
也有 PDF 格式档的版本 (比较方便列印) 及 原始的 docbook XML 来源文件.
这份教学还在撰写中,最新的版本可以在 http://scentric.net/tutorial/找到。
有些章节有一点过期(例如:GtkTreeModelFilter 自从 2.4),但是还没有重写或更新,抱歉了!
最新更新:2005/6/5
繁体中文译者:ㄚ琪
缘由:看了旧课本的Tree,发现在新版的GTK下不能完成编译,比照一些用法,发现变化太大了,因此我又想动手翻成中文了,但是这一份没有简体版,看来得要亲力亲为了,如果有人有兴趣一起翻的话,留言给我知道,谢谢!
- 目录
- 1. Lists 和 Trees: GtkTreeView 元件
-
- 1.1. Hello World
- 2. 成份: Model, Renderer, Column, View
- 3. 资料储存用的GtkTreeModels: GtkListStore 及 GtkTreeStore
-
- 3.1. 资料的储存情形
- 3.2. 说到这个列: GtkTreeIter、 GtkTreePath、 GtkTreeRowReference
-
- 3.2.1. GtkTreePath
- 3.2.2. GtkTreeIter
- 3.2.3. GtkTreeRowReference
- 3.2.4. 用法
- 3.3. 新增纪录到储存
-
- 3.3.1. 新增纪录到一个List 储存
- 3.3.2. 新增纪录到一个Tree储存
- 3.3.3. 新增大量纪录时速度的考量
- 3.4. 处理原始资料
- 3.5. 撷取原始资料
-
- 3.5.1. 释放撷取的原始资料
- 3.6. 移除纪录
- 3.7. 移除多重纪录
- 3.8. 储存 GObjects (Pixbufs 等等.)
- 3.9. 储存Pointers、GBoxed型别及Gobjec的资料结构(TODO)
- 4. 建构一个 Tree View
-
- 4.1. 连接Tree View 及 Model
-
- 4.1.1. 引用计数
- 4.2. Tree View 看起来的感觉
- 5. 映射资料到荧幕: GtkTreeViewColumn 及 GtkCellRenderer
-
- 5.1. Cell Renderers
- 5.2. 属性
- 5.3. 储存格资料函式
- 5.4. GtkCellRendererText 及 整数、布林及浮点数型别
- 5.5. GtkCellRendererText, UTF8, 及 pango 标记
- 5.6. 一个使用中的例子
- 5.7. 如何将整列纪录粗体化或着色
- 5.8. 如何将图示封装入Tree View
- 6. 选取、双击及功能选单
- 7. 排序
-
- 7.1. GtkTreeSortable
- 7.2. GtkTreeModelSort
- 7.3. 排序及 Tree View 栏位的表头
- 7.4. 大小写不分的字串比较
- 8. 可编辑的储存格
-
- 8.1. 可编辑的文字储存格
-
- 8.1.1. 特殊储存格的游标设定
- 8.2. 可编辑的双态及单选按钮储存格
- 8.3. 可编辑的微调按钮储存格
- 9. 杂七杂八
-
- 9.1. 从Tree View 栏位元件取得栏位数目
- 9.2. 栏位扩展的能见度
- 9.3. G点击事件发生时取得 Cell Renderer
- 9.4. Glade 及 Tree Views
- 10. 拖曳 (DnD) **** 需要更新 ***
- 11. 撰写定制的模式
-
- 11.1. 定制模式何时有用?
- 11.2. 撰写定制模式所涵括的内容?
- 11.3. 范例: 一个简单定制的 List 模式
-
- 11.3.1. custom-list.h
- 11.3.2. custom-list.c
- 11.4. 从 List 到 Tree
- 11.5. 额外的介面, 这里: GtkTreeSortable 介面
- 11.6. 使用中的范例: 定制的List Model 原始码
-
- 11.6.1. custom-list.h
- 11.6.2. custom-list.c
- 11.6.3. main.c
- 12. 撰写定制的 Cell Renderers
-
- 12.1. 使用中的范例: 进度显示器的 Bar Cell Renderer
-
- 12.1.1. custom-cell-renderer-progressbar.h
- 12.1.2. custom-cell-renderer-progressbar.c
- 12.1.3. main.c
- 12.2. 别人已经写过的Cell Renderers
- 13. 其他资源
- 14. 版权,许可声明,鸣谢及更新历史
我建议你可以把文件放在 http://zh.wikibooks.org …