随着过去若干年中Linux爆炸性地增长,对开发高质量Linux应用的需求达到了前所未有的程序。《开发Linux应用》一书迎合了这样的需求。它以生动的方式说明了GTK+和GDK这一内容丰富的工具,同时也说明了Linux开发人员在利用GTK+和GDK建立图形用户界面应用时需要用到的技巧。\r\n 本书为熟悉C语言的开发人员编写的,书中讲述了许多详细的例子。Eric Harlow开始将GTK+的基本原理和这些例子结合起来,使读者细致和全面地掌握这一工具的运用。然后该书引导读者向纵深发展:告诉读者如何创建独特的构件,用GDK设计复杂的图形环境以及制作可移动影像的动画。\r\n 对有兴趣学习GTK+的Widnows UNIX的开发人员来说,这是一本理想的参考书。《开发Linux应用》将有助于开发读者的智慧。\r\n 如果需要为Linux建立图形用户界面应用,则可以在《开发Linux应用》中学到:通过实际例子掌握Gimp工具集(GTK+);用GDK使你的应用丰富多彩;用动画和双缓冲区及其他有用的技术改进可移动影像的显示效果;创建和定制适合用户特殊需要的构件;理解GLIB,领会GTK+如何利用GLIB解决可移植性问题以及提供大多数程序需要的功能;掌握技巧以提高你的C语言编程能力。\r\n
第一部分 用GTK+编程\r\n\r\n第1章 介绍GTK+\r\n\r\n1.1 对读者的要求\r\n1.2 本书内容\r\n1.3 从何处得到GTK+\r\n1.4 如何建立GTK+\r\n1.5 如何从源代码建立GTK+\r\n1.6 运行实例需要什么条件\r\n1.7 从何处得到样本程序\r\n1.8 从保处可以得到更多的帮助\r\n\r\n第2章 GLIB\r\n\r\n2.1 类型\r\n2.2 消息\r\n2.2.1 g-error\r\n2.2.2 g-warning\r\n2.2.3 g-message\r\n2.2.4 g-print\r\n2.2.5 定制错误处理\r\n2.3 判断\r\n2.4 字符串函数\r\n2.5 单链接表\r\n2.5.1 增加表项\r\n2.5.2 保持链接表的排序\r\n2.5.3 查找链接表的排序\r\n2.5.4 链接表的长度\r\n2.5.5 从链接表删除表项\r\n2.5.6 取得第n个表项\r\n2.5.7 查看链接表\r\n2.5.8 释放链接表\r\n2.6 双链接表\r\n2.6.1 链接表的性能\r\n2.7 Hash表\r\n2.7.1 建立Hash表\r\n2.7.2 从Hash表删除数据项\r\n2.7.3 删除Hash表\r\n2.8 树\r\n2.8.1 比较函数\r\n2.8.2 建立树\r\n2.8.3 插数据项\r\n2.8.4 查找数据项\r\n2.8.5 遍历树\r\n2.9 内存管理\r\n2.10 小结\r\n\r\n第3章 开发GUI应用\r\n\r\n3.1 建立GTK+应用\r\n3.1.1 初始化GTK+\r\n3.1.2 建立窗口\r\n3.1.3 GTK+的事件循环\r\n3.1.4 GTK+数据类型\r\n3.1.5 信号和回呼函数\r\n3.1.6 增加信号处理程序\r\n3.2 增加构件\r\n3.2.1 多事件处理程序\r\n3.3 容器\r\n3.3.1 组合框\r\n3.3.2 组合表\r\n3.4 小结\r\n\r\n第4章 基本构件\r\n\r\n4.1 常用的构件函数\r\n4.1.1 转换构件的类型\r\n4.2 按钮\r\n4.3 触发按钮\r\n4.4 检查按钮\r\n4.5 选择按钮\r\n4.6 标号\r\n4.7 录入构件\r\n4.8 列表框\r\n4.9 复合框\r\n4.10 选项菜单\r\n4.11 容器\r\n4.12 小结\r\n\r\n第5章 菜单、工具条和工具提示\r\n\r\n5.1 开始\r\n5.2 菜单\r\n5.2.1 检查菜单项\r\n5.3 选择菜单项\r\n5.4 工具提示\r\n5.5 快捷键\r\n5.6 合并代码\r\n5.7 套件\r\n5.7.1 对套件进行编程\r\n5.8 使用套件和手工建立菜单的比较\r\n5.9 像元图\r\n5.10 工具条\r\n5.10.1 增加工具条按钮\r\n5.10.2 在工具条中增加其他项\r\n5.10.3 在工具条中增加空隙\r\n5.11 建立应用的用户界面\r\n5.11.1 建立应用的窗口和菜单\r\n5.11.2 建立工具条\r\n5.11.3 协调工具条和菜单项\r\n5.12 小结\r\n\r\n第6章 更多的构件\r\n\r\n6.1 框架\r\n6.2 正文构件\r\n6.2.1 建立正文构件\r\n6.2.2 插入和删除正文\r\n6.2.3 滚动条\r\n6.3 对话框\r\n6.4 文件选择对话框\r\n6.5 进度条\r\n6.5.1 使用定时器\r\n6.5.2 测试进度条\r\n6.6 小结\r\n\r\n第二部分 应用举例\r\n\r\n第7章 编写计算器应用\r\n\r\n7.1 计算器程序\r\n7.1.1 数据结构\r\n7.1.2 主程序\r\n7.1.3 CreateCalculatorButtons\r\n7.1.4 CreateButton\r\n7.2 小结\r\n\r\n第8章 开发简单的字处理程序\r\n\r\n8.1 main.c\r\n8.2 menu.c\r\n8.3 misc.c\r\n8.4 showmessage.c\r\n8.5 about.c\r\n8.6 filesel.c\r\n8.7 Notepad.c\r\n8.7.1 Cut、Copy和Paste\r\n8.7.2 建立空白构件\r\n8.7.3 装入文件\r\n8.7.4 保存文件\r\n8.7.5 搜索正文\r\n8.7.6 进度条\r\n8.8 小结\r\n\r\n第9章 扫雷\r\n\r\n9.1 bitmaps.h\r\n9.2 Digits.h\r\n9.3 Timer.c\r\n9.4 Minesweeper.c\r\n9.5 Menu.c\r\n9.6 其余的文件\r\n9.7 小结\r\n\r\n第三部分 绘图、颜色和GDK\r\n\r\n第10章 绘图工具集\r\n\r\n10.1 绘图子程序\r\n10.1.1 画像元\r\n10.1.2 画直线\r\n10.1.3 画矩形\r\n10.1.4 画多角形\r\n10.1.5 画多条线\r\n10.1.6 画圆和圆弧\r\n10.2 显示正文\r\n10.3 绘制像元图\r\n10.4 绘图区构件\r\n10.5 可绘制区事件\r\n10.6 简单的时钟应用\r\n10.6.1 消除闪烁\r\n10.7 系统监视\r\n10.7.1 使用/proc文件系统\r\n10.7.2 说明\r\n10.8 小结\r\n\r\n第11章 式样、颜色、字体、光标和引用\r\n\r\n11.1 式样(颜色和字体)\r\n11.1.1 颜色\r\n11.1.2 使用式样\r\n11.1.3 选择颜色对话框\r\n11.1.4 字体\r\n11.2 光标\r\n11.3 引用\r\n11.4 小结\r\n\r\n第12章 使用GDK的分子观察程序\r\n\r\n12.1 文件格式\r\n12.2 数据结构\r\n12.3 3维绘图\r\n12.4 源代码\r\n12.4.1 ReadMolecule\r\n12.4.2 FindBB\r\n12.4.3 对原子进行分类\r\n12.4.4 TransformPoints \r\n12.4.5 绘制联结\r\n12.4.6 原子的颜色\r\n12.4.7 MoleculeRepqint\r\n12.4.8 建立绘图区\r\n12.4.9 程序的其余部分\r\n12.5 小结\r\n\r\n第13章 可移动影像和动画制作\r\n\r\n13.1 动画\r\n13.1.1 利用可移动影像\r\n13.1.2 装入影像\r\n13.1.3 显示影像\r\n13.1.4 整个程序\r\n13.2 电视游戏\r\n13.2.1 用GTK+/GDK实现的游戏\r\n13.2.2 建立游戏需要考虑的因素\r\n13.2.3 游戏内部的细节\r\n13.3 小结\r\n\r\n第四部分 扩充GTK+\r\n\r\n第14章 树、列表和标记\r\n\r\n14.1 树构件\r\n14.1.1 树的建立\r\n14.1.2 树的信号\r\n14.1.3 建立文件浏览器\r\n14.2 笔记本构件\r\n14.2.1 增加和删除页\r\n14.2.2 处理页\r\n14.3 列表构件\r\n14.3.1 将数据加入列表构件\r\n14.3.2 删除行\r\n14.3.3 提高插入和删除的速度\r\n14.3.4 标题栏的特征\r\n14.3.5 行与列参数\r\n14.3.6 图表\r\n14.4 建立应用程序\r\n14.4.1 Logtypes.h\r\n14.4.2 Parselog.c\r\n14.4.3 bitmaps.c\r\n14.4.4 Notebook.c\r\n14.5 小结\r\n\r\n第15章 创建自己的构件\r\n\r\n15.1 理解构件\r\n15.1.1 继承\r\n15.1.2 从头做起\r\n15.2 构件如何工作\r\n15.2.1 包含文件\r\n15.2.2 宏\r\n15.2.3 数据结构\r\n15.2.4 原型\r\n15.2.5 C代码\r\n15.2.6 类的初始化\r\n15.2.7 发送信号\r\n15.2.8 初始化函数\r\n15.3 创建构件\r\n15.3.1 创建图形构件\r\n15.3.2 头文件\r\n15.3.3 图形程序\r\n15.3.4 使用构件\r\n15.4 小结