Writing GNOME Applications
暫譯: 撰寫 GNOME 應用程式
John R. Sheets
- 出版商: Addison Wesley
- 出版日期: 2000-09-21
- 售價: $1,880
- 貴賓價: 9.5 折 $1,786
- 語言: 英文
- 頁數: 480
- 裝訂: Paperback
- ISBN: 0201657910
- ISBN-13: 9780201657913
已絕版
買這商品的人也買了...
-
$1,150$1,127 -
$2,050$1,948 -
$780$616 -
$1,900$1,805 -
$450$383 -
$480$408 -
$580$458 -
$420$357 -
$780$663 -
$680$537 -
$750$675 -
$450$351 -
$650$507 -
$680$537 -
$780$616 -
$680$646 -
$750$593 -
$680$537 -
$450$356 -
$780$616 -
$720$569 -
$720$569 -
$550$429 -
$480$408 -
$650$553
商品描述
Description
The real-world, example-rich guide to GNOME programming, with full coverage of newly-released version 1.2!
- Delivers a clear, intuitive understanding of the entire GNOME framework all developers must know to write and troubleshoot industrial-strength GNOME applications.
- Includes a full, working case study application designed for easy modification and extension.
- Menus, toolbars, dialogs, graphics, GnomeMDI, session management, and much more.
John R. Sheets has been following the GNOME project on a day-to-day basis for more than two years, and is currently working on a GNOME client application for WorldForge that will create a free online gaming environment. He is senior software developer for CodeWeavers, where he specializes in porting Windows applications to Linux.
Table Of Contents
Figures.Tables.
Listings.
Preface.
1. The UNIX Experience.
The Tools.
Editors, Compilers, and Debuggers.
Autoconf and Automake.
Libtool.
Internationalization.
CORBA.
The X Window System.
Clients and Servers.
X Services and Extensions.
The Event Queue.
X Resources.
Graphics.
2. The GTK+/GNOME System.
Namespaces.
Logging.
Containers.
Other Toys.
GDK.
The Thin Wrapper.
GDK Events.
Drawing Primitives.
Reference Counting.
GTK+.
The GTK+ Type System.
Object Classes.
Object Properties.
Signals.
GNOME.
Graphics Libraries.
Components.
Gnome-xml.
3. The GNOME Build Environment.
Inside the configure Script.
Makefile Variable Substitution.
Creating Your Own Configuration.
The Configuration Header.
Checking for Tools.
Checking for Header Files.
Custom Checks.
Helper Tools.
Generating Makefiles.
Using Automake.
Automake Variables.
Conditional Compiling.
Cutting a Distribution.
Dealing with Libraries.
libtoolize.
A Grumpy Example.
Exploring the Results.
A Note about Version Numbers.
Adding GNOME.
gnome-config.
GNOME Makefile Variables.
autogen.sh.
Some Grumpy GNOME Examples.
4. Internationalization.
Preparing the Source Files.
Setting Up the Environment.
Creating the Translation Files.
Updating the Translation Files.
Integrating into GNOME.
5. The GNOME Application.
The GnomeApp Widget.
The Main Loop.
Command Line Options.
Adding Command Line Options.
Saving Options.
GNOME Desktop Files.
6. Menus and Toolbars.
GtkMenuItem.
GtkMenuBar and GtkMenu.
The GNOME Menu System.
Menu Item Types.
Pixmaps in a Menu.
Menu Callbacks.
Menu Macros.
Menu Array Examples.
The GNOME Menu API.
Creating Toolbars.
Pop-up Menus.
Popping Up on an Event.
The Status Bar.
Creating a GnomeAppBar Widget.
Setting Messages.
Updating the Progress Bar.
7. Dialogs.
The Question Dialog.
Message Boxes.
GnomeApp Messages.
The GnomeDialog Widget.
Running the Dialog.
Dialog Properties.
Closing the Dialog.
The About Box.
Property Boxes.
Property Box Signals.
8. Using GnomeMDI.
MDI Modes.
Menu Templates.
Getting Around.
Registration.
GnomeMDIChild.
GnomeMDIChild Callbacks.
Using the Generic Child.
Menu Creation through a Callback.
MDI Signals.
changed Signals.
Sample MDI Application.
9. Session Management.
Session Commands.
Session Signals.
Adding Session Management to Your Application.
10. Graphics.
Color Maps.
Visuals.
Drawables.
Images.
The GDK Wrapper.
Using Color in GDK.
GdkRGB.
Drawing Functions.
Color Management.
Libart.
BEzier Paths.
Sorted Vector Paths.
Microtile Arrays.
Affine Transformations.
Pixel Buffers.
Gdk-pixbuf.
Rendering.
Scaling.
Progressive Loading.
Autoconf Support.
Gdk-pixbuf Application Example.
11. The GNOME Canvas.
The Canvas Abstraction.
Canvas Groups.
Events.
Coordinate Systems.
Item Coordinates.
Canvas Coordinates.
Window Coordinates.
Using the Canvas.
The Scrolling Region.
Adding Canvas Items.
Moving Canvas Items Around.
Transformations.
Canvas Items.
Line Styles.
The Shape of the Item.
Widgets in the Canvas.
Text Canvas Items.
Graphical Canvas Items.
Canvas Events.
Clicks and Double Clicks.
Mouse Motion.
Rollovers.
Keyboard Events.
Grabbing Items.
Dragging and Dropping Canvas Items.
12. Documentation.
DocBook Documents.
Installing Documentation.
Setting Up Makefile.am.
Adding a topic.dat File.
Invoking the Help System.
URL Handlers.
Bringing Up Help.
Adding Help to the Menu.
Help in a Property Box.
Sample Help Application.
topic.dat.
configure.in.
Makefile.am.
main.c.
Compiling and Running the Application.
Appendix.
GNOME Platforms and Support.
The X Window System.
Installing GNOME.
Compilation Issues.
Starting GNOME Up.
Using GNOME Day to Day.
Problems.
What Does “That” Do?
Further Resources.
Getting Involved.
About This FAQ.
Index. 0201657910T04062001

商品描述(中文翻譯)
描述
本書是針對 GNOME 程式設計的實務指南,內容豐富且範例眾多,全面涵蓋新發布的 1.2 版本!
- 提供清晰、直觀的理解,讓所有開發者都能掌握撰寫和排除工業級 GNOME 應用程式所需的整個 GNOME 框架。
- 包含一個完整的、可操作的案例研究應用程式,設計上便於修改和擴展。
- 涵蓋菜單、工具列、對話框、圖形、GnomeMDI、會話管理等多個主題。
GNOME 正在成熟,為開發者提供了使用 100% 開源技術撰寫強大圖形應用程式的機會,適用於 Linux 和其他平台。然而,直到現在,尋找有關 GNOME 開發的詳細實用資訊仍然非常困難。《Writing GNOME Applications》填補了這一空白,為開發者提供專業指導和大量範例程式碼,清楚展示 GNOME 的運作方式及如何充分利用它。專家 GNOME 開發者 John R. Sheets 首先介紹 GNOME 專案及其相關工具,包括編輯器、編譯器、除錯器、autoconf、automake,以及 GNOME 如何建立在 X Window System 之上。本書全面涵蓋 GTK+、Glib、GNOME 建置環境及 GNOME 介面的每個關鍵元素,包括菜單和工具列、對話框以及 GnomeMDI 多文件介面。Sheets 會回顧會話管理,解釋 GNOME 中圖形的實現方式,並回顧 GNOME Canvas。他展示如何充分利用 GNOME 的國際化功能,並說明如何使用甚至撰寫 GNOME 文檔。適合所有希望為 Linux 建立圖形應用程式的開發者。
John R. Sheets 在過去兩年中每天都在關注 GNOME 專案,目前正在為 WorldForge 開發一個 GNOME 客戶端應用程式,旨在創建一個免費的在線遊戲環境。他是 CodeWeavers 的高級軟體開發者,專注於將 Windows 應用程式移植到 Linux。
目錄
- 圖表
- 表格
- 列表
- 前言
- 1. UNIX 體驗
- GNOME 是什麼?
- 工具
- 可用性
- 編輯器、編譯器和除錯器
- Autoconf 和 Automake
- Libtool
- 國際化
- CORBA
- X Window System
- 系統
- 客戶端和伺服器
- X 服務和擴展
- 事件佇列
- X 資源
- 圖形
- 2. GTK+/GNOME 系統
- Glib
- 簡單數據類型
- 命名空間
- 日誌
- 容器
- 其他工具
- GDK
- GTK+ 連接
- 輕量包裝
- GDK 事件
- 繪圖原語
- 參考計數
- GTK+
- 小部件
- GTK+ 類型系統
- 物件類別
- 物件屬性
- 信號
- GNOME
- 核心庫
- 圖形庫
- 組件
- Gnome-xml
- 3. GNOME 建置環境
- 配置腳本
- 執行 configure
- configure 腳本內部
- Makefile 變數替換
- 創建自己的配置
- Autoconf
- 配置標頭
- 檢查工具
- 檢查標頭文件
- 自定義檢查
- 助手工具
- 生成 Makefile
- GNU Makefile 標準
- 使用 Automake
- Automake 變數
- 條件編譯
- 創建發行版
- 處理庫
- Libtool 支持
- libtoolize
- 一個不高興的範例
- 探索結果
- 關於版本號的說明
- 添加 GNOME
- GNOME 宏
- gnome-config
- GNOME Makefile 變數
- autogen.sh
- 一些不高興的 GNOME 範例
- 4. 國際化
- 國際化的運作方式
- 準備源文件
- 設置環境
- 創建翻譯文件
- 更新翻譯文件
- 整合到 GNOME 中
- 5. GNOME 應用程式
- 標頭文件
- GnomeApp 小部件
- 主循環
- 命令行選項
- Popt 庫
- 添加命令行選項
- 保存選項
- GNOME 桌面文件
- 6. 菜單和工具列
- GTK+ 菜單系統
- GTK+ 菜單
- GtkMenuItem
- GtkMenuBar 和 GtkMenu
- GNOME 菜單系統
- GnomeUIInfo 結構
- 菜單項類型
- 菜單中的位圖
- 菜單回調
- 菜單宏
- 菜單數組範例
- GNOME 菜單 API
- 創建菜單
- 創建工具列
- 彈出菜單
- 點擊彈出
- 事件彈出
- 狀態列
- GnomeAppBar 與 GtkStatusbar
- 創建 GnomeAppBar 小部件
- 設置消息
- 更新進度條
- 7. 對話框
- 消息對話框
- 信息對話框
- 問題對話框
- 消息框
- GnomeApp 消息
- GnomeDialog 小部件
- 創建 GnomeDialog 小部件
- 執行對話框
- 對話框屬性
- 關閉對話框
- 關於框
- 屬性框
- 創建屬性框
- 屬性框信號
- 8. 使用 GnomeMDI
- GNOME 中的多文件
- GnomeMDI 物件
- MDI 模式
- 菜單模板
- 瀏覽
- 註冊
- GnomeMDIChild
- 子物件
- GnomeMDIChild 回調
- 使用通用子物件
- 通過回調創建菜單
- MDI 信號
- 添加和移除信號
- 變更信號
- 範例 MDI 應用程式
- 9. 會話管理
- GnomeClient
- 會話命令
- 會話信號
- 將會話管理添加到您的應用程式
- 10. 圖形
- X Window System 中的圖形
- 幀緩衝區
- 顏色映射
- 視覺效果
- 可繪製物件
- 圖像
- GDK 包裝器
- 簡化 API
- 在 GDK 中使用顏色
- GdkRGB
- RGB 緩衝區
- 繪圖函數
- 顏色管理
- Libart
- 向量路徑
- BEzier 路徑
- 排序向量路徑
- 微平鋪數組
- 仿射變換
- 像素緩衝區
- Gdk-pixbuf
- 創建
- 渲染
- 縮放
- 漸進加載
- Autoconf 支持
- Gdk-pixbuf 應用範例
- 11. GNOME Canvas
- Canvas
- 雙緩衝繪圖表面
- Canvas 抽象
- Canvas 群組
- 事件
- 坐標系統
- 世界坐標
- 項目坐標
- Canvas 坐標
- 窗口坐標
- 使用 Canvas
- GDK 與 AA
- 滾動區域
- 添加 Canvas 項目
- 移動 Canvas 項目
- 變換
- Canvas 項目
- 基於向量的繪圖項目
- 線條樣式
- 項目的形狀
- Canvas 中的小部件
- 文本 Canvas 項目
- 圖形 Canvas 項目
- Canvas 事件
- 事件回調
- 點擊和雙擊
- 鼠標運動
- 滾動
- 鍵盤事件
- 抓取項目
- 拖放 Canvas 項目
- 12. 文檔
- 撰寫文檔
- HTML 文檔
- DocBook 文檔
- 安裝文檔
- 幫助目錄
- 設置 Makefile.am
- 添加 topic.dat 文件
- 調用幫助系統
- 幫助瀏覽器
- URL 處理程序
- 顯示幫助
- 將幫助添加到菜單
- 屬性框中的幫助
- 範例幫助應用程式
- HTML 幫助文件
- topic.dat
- configure.in
- Makefile.am
- main.c
- 編譯和運行應用程式
附錄
- GNOME 是什麼?
- GNOME 平台和支持
- X Window System
- 安裝 GNOME
- 編譯問題
- 啟動 GNOME
- 日常使用 GNOME
- 問題
- “那個”是做什麼的?
- 進一步資源
- 參與其中
- 關於此 FAQ
索引