Tim-Philipp Müller
這是一份關於透過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 …