前言
第1部分 編程入門
第1章 什么是GNOME
1. 1 GN0ME各種軟件之間的關系
1. 1. 1 軟件層次
1. 1. 2 命名約定
1. 2 編寫代碼的各種方式
1. 3 C對象運行
1. 3. 1 封裝
1. 3. 2 繼承
1. 3. 3 方法
1. 4 小部件的作用
1. 5 信號和回調
1. 6 GIMP的glib庫
1. 6. 1 基本數(shù)據(jù)類型
1. 6. 2 glib的工具函數(shù)
1. 7 細讀源代碼
1. 8 小結
第2章 窗口顯示
2. 1 開始
2. 2 Hel10 World程序
2. 3 GTK十的窗口
2. 4 關閉窗口
2. 5 回調和事件
2. 6 帶按鈕的窗口
2. 7 GNOME窗口
2. 8 開始編寫GNOME應用程序
2. 9 小結
第3章 顯示彈出式對話框
3. 1 彈出式窗口. 對話框和窗口小部件
3. 2 對話框的工作方式
3. 3 GNOME定義的對話框
3. 3. 1 做一個簡單的聲明
3. 3. 2 詢問一個簡單的問題
3. 3. 3 確定對話框類型
3. 3. 4 鍵盤輸入
3. 3. 5 傳給回調的數(shù)據(jù)
3. 3. 6 進度條
3. 4 創(chuàng)建彈出式窗口和對話框
3. 5 彈回之后銷毀
3. 6 通過隱藏來彈回窗口
3. 7 數(shù)據(jù)輸出和輸入
3. 8 小結
第4章 在窗口中想劃小部件
4. 1 框的放置
4. 1. 1 垂直放置框
4. 1. 2 水平放置框
4. 1. 3 水平框選項
4. 1. 4 垂直框選頂
4. 1. 5 在框中分隔小部件
4. 1. 6 框中的框
4. 2 表放置
4. 2. 1 放置一個小表格
4. 2. 2 表格上的三個按鈕
4. 2. 3 選項設置
4. 2. 4 重疊小部件
4. 3 把框和表結合起來
4. 4 小結
第5章 小部件包含小部件
5. 1 固定容器
5. 2 對齊容器
5. 3 框架容器
5. 4 外觀框架容器
5. 5 窗格容器
5. 6 布局容器
5. 7 滾動窗口容器
5. 8 記事本容器
5. 9 按鈕框
5. 10 小結
第6章 事件. 信號和回調
6. 1 讀事件隊列
6. 2 事件處理的順序
6. 3 發(fā)送你自己的信號
6. 4 信號的名稱和ID
6. 5 回調函數(shù)的形式
6. 6 空閑時的后臺處理
6. 7 定時器
6. 8 從文件或套接字讀取輸入
6. 9 小結
第7章 位圖. 像素圖和光標
7. 1 兩種圖形
7. 2 XPM格式
7. 3 從數(shù)據(jù)顯示XPM
7. 4 從文件顯示XPM
7. 5 用XPM來裝飾按鈕
7. 6 XBM格式
7. 7 位圖工具
7. 8 顯示XBM光標
7. 9 創(chuàng)建光標
7. 10 從XPM創(chuàng)建光標
7. 11 小結
第8章 菜單和工具條
8. 1 菜單創(chuàng)建的機制
8. 2 菜單類型和宏
8. 3 標準GN0ME菜單布局
8. 4 幫助文件
8. 5 彈出式菜單
8. 6 創(chuàng)建一個工具條
8. 7 庫存圖標
8. 8 非標準圖標
8. 9 禁用和啟用菜單項
8. 10 禁用和啟用工具條項
8. 11 隱藏和顯示菜單項
8. 12 隱藏和顯示工具條項
8. 13 菜單中的單選按鈕
8. 14 工具條中的單選按鈕
8. 15 菜單中的開關按鈕
8. 16 工具條中的開關按鈕
8. 17 小結
第2部分 循序漸進
第9章 GnomeCanvas小部件
9. 1 GnomeCanvas小部件
9. 2 鼠標. 事件以及棧順序
9. 3 傳遞給畫布項目的事件
9. 4 移動畫布項目
9. 5 畫布圖像
9. 6 畫布文本
9. 7 畫布上項目的組合
9. 8 在畫布上添加小部件
9. 9 在畫布上畫多邊形
9. 10 畫布仿射變換
9. 11 GdkEvent
9. 11. 1 公用字段
9. 11. 2 GdkEvent
9. 11. 3 GdkEventAny
9. 11. 4 GdkEventButton
9. 11. 5 GdkEventClient
9. 11. 6 GdkEventConfigure
9. 11. 7 GdkEventCrossing
9. 11. 8 GdkEventDND
9. 11. 9 GdkEventExpose
9. 11. 10 GdkEventFocus
9. 11. 11 CdkEventKey
9. 11. 12 GdkEventMotion
9. 11. 13 GdkEventNoExpose
9. 11. 14 GdkEventProperty
9. 11. 15 GdkEventProximity
9. 11. 16 GdkEventSelection
9. 11. 17 GdkEventVisibility
9. 12 小結
第10章 繪圖區(qū)與圖形元素
10. 1 繪圖區(qū)基礎
10. 2 畫一個像素
10. 3 繪畫以及填充矩形
10. 4 繪畫以及填充多邊形
10. 5 畫圓. 橢圓以及弧線
10. 6 描繪文本
10. 7 描繪位圖
10. 8 調整繪圖區(qū)大小
10. 9 在內存上繪圖和制作動畫
10. 10 小結
第11章 顏色與圖形上下文
11. 1 顏色的體系結構
11. 2 圖形上下文
11. 3 小部件顏色的設置
11. 4 圖形上下文中的線型
11. 5 點畫法
11. 6 在CTKGC中設置值的函數(shù)
11. 7 選擇顏色對話框
11. 8 關于GtkStyle的一些說明
11. 9 小結
第12章 鼠標和鍵盤
12. 1 對鼠標事件的響應
12. 2 獲取和釋放鼠標
12. 3 從鍵盤讀入字符
12. 4 GNOME的命令行選項
12. 5 添加命令行選項
12. 6 小結
第13章 字體
13. 1 對字體的解析
13. 2 字體的命名
13. 3 字體選擇器
13. 4 字體的大小和放置
13. 5 小結
第14章 小部件技巧
14. 1 探索小部件
14. 2 與小部件對話
14. 3 監(jiān)聽小部件
14. 4 創(chuàng)建. 實現(xiàn). 映射和顯示
14. 4. 1 創(chuàng)建和撤消
14. 4. 2 顯示和隱藏
14. 4. 3 映射和取消映射
14. 4. 4 實現(xiàn)和取消
14. 4. 5 顯示和隱藏一個按鈕
14. 5 小部件的風格
14. 6 設置小部件風格
14. 7 小結
第15章 applet
15. 1 一個簡單的applet
15. 2 一個啟動應用程序的applet
15. 3 顯示更新信息
15. 4 applet菜單
15. 5 面板定位
15. 6 小結
第16章 拖放. 復制. 剪切和粘貼
16. 1 簡單文本拖動一放置
16. 2 應用程序之間圖形數(shù)據(jù)的移動
16. 3 剪切和粘貼
16. 4 小結
第17章 多文檔界面
17. 1 一個簡單的多文檔界面
17. 2 MDI菜單和顯示模式
17. 3 帶工具條的MDI窗口
17. 4 小結
第18章 創(chuàng)建自己的小部件
18. 1 條形圖小部件
18. 2 使用AgBargraph小部件
18. 3 AgBargraph頭文件
18. 4 AgBargraph小部件
18. 5 小部件的修改和更新
18. 6 小結
第19章 配置和國際化
19. 1 環(huán)境控制
19. 1. 1 配置文件格式
19. 1. 2 配置文件位置
19. 1. 3 讀寫配置文件
19. 1. 4 保存和獲取向量
19. 1. 5 配置文件的數(shù)據(jù)類型
19. 2 國際化
19. 3 小結
第3部分 參考與機制
第20章 配置與編譯
20. 1 安裝GNOME源碼
20. 2 建立開發(fā)目錄
20. 3 宏
20. 4 configure. in文件
20. 5 文本文件
20. 6 acconfig. h文件
20. 7 autogen.sh腳本
20. 8 Makefile.am主文件
20. 9 源代碼目錄
20. 10 Makefile.am從屬文件
20. 11 運行autogen.sh腳本
20. 12 小結
第21章 GTK+的小部件
21. 1 GtkAccelLabel
21. 2 GtkAdjustment
21. 3 GtkAlignment
21. 4 GktArrow
21. 5 GtkAspectFrame
21. 6 GtkBin
21. 7 GtkBox
21. 8 GtkButton
21. 9 GtkButtonBox
21. 10 GtkCalendar
21. 11 GtkCheckButton
21. 12 GtkCheckMenuItem
21. 13 GtkCList
21. 14 GtkClock
21. l5 GtkColorSelection
2l. 16 GtkColorSelectionDialog
21. 17 GtkCombo
21. 18 GtkContainer
21. 19 GtkCTree
21. 20 GtkCurve
21. 21 GtkData
21. 22 GtkDial
21. 23 GacDialog
21. 24 GtkDrawingArea
21. 25 GtkEditable
21. 26 GtkEntry
21. 27 GtkEventBox
2l. 28 GtkFileSelection
21. 29 GtkFixed
21. 30 GtkFontSelection
21. 3l GtkFontSelectionDialog
21. 32 GtkFrame
21. 33 GtkGammaCurve
21. 34 GtkHandleBox
21. 35 GtkHBox
21. 36 GtkHButtonBox
21. 37 GtkHPaned
21. 38 GtkHRuler
21. 39 GtkHScale
21. 40 GtkHScrollabr
21. 4l GtkHSeparator
21. 42 GtkImage
21. 43 GtkInputDialog
21. 44 GtkInvisible
21. 45 GtkItem
21. 46 GtkItemFactory
21. 47 GtkLabel
21. 48 GtkLayoat
21. 49 GtkList
21. 50 GtkListItem
21. 51 GtkMenu
21. 52 GtkMenuBar
21. 53 GtkMenuItem
21. 54 GtkMenuShell
2l. 55 GtcMisc
21. 56 GtkNotebook
21. 57 GtkObject
21. 58 GtkOptionMenu
21. 59 GtkPacker
21. 60 GtkPaned
21. 61 G
21. 62 G
21. 63 GtkPlug
21. 64
21. 65
21. 66
21. 67
21. 68 GtkRadioMenuItem
21. 69 GdcRange
21. 70 GtkRuler
21. 71 GtkScale
21. 72 GtkScrollbar
21. 73 GtkScrolledWindow
21. 74 GtkSeparator
21. 75 GtkSocket
21. 76 GtkSpinButton
21. 77 GtkStatusbar
21. 78 GtkTable
21. 79 GtkT
21. 80 GtkTed
21. 81 GtkText
21. 82 GtkTipsQuery
21. 83 GtkToggleButton
21. 84 GtkToolbar
21. 85 GtkTooltips
21. 86 GtkTree
21. 87 GtkTreeItem
21. 88 GtkVBox
21. 89 GtkVButtonBox
21. 90 GthViewpod
21. 91 GtkVPaned
21. 92 GtkVRuler
21. 93 GtkVScale
21. 94 GtkVScrollbar
2l. 95 GtkVSeparator
21. 96 GdcWidget
21. 97 GtkWindow
21. 98 小結
第22章 GNOME的小部件
22. l GnomeAbout
22. 2 GnomeAnimator
22. 3 GnomeApp
22. 4 GnaneAppBar
22. 5 GnomeCalculator
22. 6 GrmneCanvas
22. 7 GnomeCanvasEJlipse
22. 8 GnomeCanvasGmup
22. 9 GnonxeCanvasImage
22. 1O GlomeCanvasltem
22. ll GnomeCanvasLine
22. 12 GnomeCanvasPolygon
22. 13 GnomeCanvasRE
22. 14 GnomeCanvasRect
22. 15 GnomeCanvasText
22. 16 GnomeCanvasWidget
22. 17 GnomeClient
22. 18 GnomeColorPicker
22. 19 GnomeDEnntryEdit
22. 20 GnomeDialog
22. 21 GnomeDock
22. 22 GnomeDockBand
22. 23 GnomeDockItem
22. 24 GnomeDockLayout
22. 25 GnomeEntry
22. 26 GnomeFileEntry
22. 27 GnomeFontPicker
22. 28 GnomeFontSelector
22. 29 GnameGuru
22. 30 GnomteHRef
22. 31 GnomeIconEntry
22. 32 GnomeIconSelection
22. 33 GnomeLess
22. 34 GnomeMDI
22. 35 GnomeMDIChild
22. 36 GnomeMDIGenericChild
22. 37 GnomeMessageBox
22. 38 GnomeNumberEntry
22. 39 GnomePaperSelector
22. 40 GnomePixmap
22. 41 GnomePixmapEntry
22. 42 GnomeProcBar
22. 43 GnomePropertyBox
22. 44 GnomeScores
22. 45 GnomeSpell
22. 46 GnomeStock
22. 47 GnomeStockPixmapWidget
22. 48 小結
第23章 一些Linux 機制
23. l Linux 錯誤代碼
23. 2 生成進程
23. 3 執(zhí)行命令行
23. 4 管道
23. 5 時間
23. 6 文件信息
23. 7 系統(tǒng)信息
23. 8 小結
第24章 Win32和GNOME的比較與剖析
24. 1 Win32 程序
24. 2 GNOME程序
24. 3 詳細比較
24. 3. l 初始化
24. 3. 2 主窗口
24. 3. 3 響應事件
24. 3. 4 主循環(huán)
24. 3. 5 程序的關閉
24. 3. 6 全局數(shù)據(jù)
24. 4 小結
附錄A 光盤上的內容
A. l 光盤上的內容目錄
A. 2 示例
A. 3 GNOME
A. 4 工具
附錄B 設置軟件開發(fā)環(huán)境
B. 1 Linux
B. 2 gcc(egcs)
B. 3 Xfree86
B. 4 autoconf和automake
B. 5 GNOME. glib. GDK及GTK十
B. 5. 1 從源代碼安裝GTK+
B. 5. 2 獲取GTK+和GNOME源文件
附錄C 繼承
附錄D arg設置與獲取
附錄E 枚舉類型
附錄F 信號
附錄G 返回型函數(shù)