GNOME/GTK+编程宝典
出版时间:2000-12-1
内容简介
GNOME和GTK+是流行的Linux应用程序图形用户界面编程工具。本书以大量实例,伴以通俗易懂的解释一步步教你如何构建对话框、事件、工具条及其他界面元素,以及各种小部件、窗口和多文档界面(MDI),使你的应用程序活跃在Linux桌面上。
本书适合于计算机编程人员、大专院校计算视专业师生及广大计算机爱好者学习使用。
目录
前言
第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 基本数据类型
1.6.2 glib的工具函数
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 传给回调的数据
3.3.6 进度条
3.4 创建弹出式窗口和对话框
3.5 弹回之后销毁
3.6 通过隐藏来弹回窗口
3.7 数据输出和输入
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 发送你自己的信号
6.4 信号的名称和id
6.5 回调函数的形式
6.6 空闲时的后台处理
6.7 定时器
6.8 从文件或套接字读取输入
6.9 小结
第7章 位图、像素图和光标
7.1 两种图形
7.2 xpm格式
7.3 从数据显示xpm
7.4 从文件显示xpm
7.5 用xpm来装饰按钮
7.6 xbm格式
7.7 位图工具
7.8 显示xbm光标
7.9 创建光标
7.10 从xpm创建光标
7.11 小结
第8章 菜单和工具条
8.1 菜单创建的机制
8.2 菜单类型和宏
8.3 标准gn0me菜单布局
8.4 帮助文件
8.5 弹出式菜单
8.6 创建一个工具条
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章 绘图区与图形元素
10.1 绘图区基础
10.2 画一个像素
10.3 绘画以及填充矩形
10.4 绘画以及填充多边形
10.5 画圆、椭圆以及弧线
10.6 描绘文本
10.7 描绘位图
10.8 调整绘图区大小
10.9 在内存上绘图和制作动画
10.10 小结
第11章 颜色与图形上下文
11.1 颜色的体系结构
11.2 图形上下文
11.3 小部件颜色的设置
11.4 图形上下文中的线型
11.5 点画法
11.6 在ctkgc中设置值的函数
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 监听小部件
14.4 创建、实现、映射和显示
14.4.1 创建和撤消
14.4.2 显示和隐藏
14.4.3 映射和取消映射
14.4.4 实现和取消
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 应用程序之间图形数据的移动
16.3 剪切和粘贴
16.4 小结
第17章 多文档界面
17.1 一个简单的多文档界面
17.2 mdi菜单和显示模式
17.3 带工具条的mdi窗口
17.4 小结
第18章 创建自己的小部件
18.1 条形图小部件
18.2 使用agbargraph小部件
18.3 agbargraph头文件
18.4 agbargraph小部件
18.5 小部件的修改和更新
18.6 小结
第19章 配置和国际化
19.1 环境控制
19.1.1 配置文件格式
19.1.2 配置文件位置
19.1.3 读写配置文件
19.1.4 保存和获取向量
19.1.5 配置文件的数据类型
19.2 国际化
19.3 小结
第3部分 参考与机制
第20章 配置与编译
20.1 安装gnome源码
20.2 建立开发目录
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 执行命令行
23. 4 管道
23. 5 时间
23. 6 文件信息
23. 7 系统信息
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 主循环
24. 3. 5 程序的关闭
24. 3. 6 全局数据
24. 4 小结
附录a 光盘上的内容
a. l 光盘上的内容目录
a. 2 示例
a.3 gnome
a.4 工具
附录b 设置软件开发环境
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 返回型函数
译者序
GNOME是X Window系统图形用户界面的网络对象模型环境。本书全面介绍了在Linux环境下进行GNOME应用编程的技术。全书共分三大部分二十四章,第1章说明了与GNOME和CTK十有关的函数库和数据结构;第2章和第3章讲述主窗口的选项、弹出窗口和对话框;第4章和第5章讲述窗口管理及控制3第6章讲述主消息循环5第7章讲述在窗口上增加图像的GUI接口;第8章举例说明创建菜单和工具条的方法;第9章讲述画布窗口;第10章和第11章讲述作图函数及色彩处理;第12章讲述处理鼠标和键盘活动;第13章讲述字体使用的方法;第14章分析了小部件;第15章说明编写applet的方法;第16章举例说明两个应用程序间的拖放操作;第17章讲述GTK十多文档界面;第18章举例说明编写一个小部件;第19章讲述国际化和配置;第20章说明自动编译;第21章是CTK+小部件的顺序列表;第22章是GNOME小部件的顺序列表;第23章讲述Linux的—些基本操作;第24章是Win32和GNOME的对比。
本书由许多例子组成,每个例子都有详绩的说明。另外,第3部分和附录C~G是GNOME函数参考。
译者谨向他们表示衷心感谢!
译 者
2000年6月
1