Writing GNOME Applications

John R. Sheets

  • 出版商: Addison Wesley
  • 出版日期: 2000-09-21
  • 售價: $1,840
  • 貴賓價: 9.5$1,748
  • 語言: 英文
  • 頁數: 480
  • 裝訂: Paperback
  • ISBN: 0201657910
  • ISBN-13: 9780201657913
  • 已絕版

買這商品的人也買了...

相關主題

商品描述


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.
GNOME is coming of age, offering developers the opportunity to write remarkably powerful graphical applications for Linux and other platforms, using 100% open-source technology. But until now, finding detailed, practical information for GNOME development has been extremely difficult. Writing GNOME Applications fills the gap, giving developers expert guidance and extensive sample code that demonstrates exactly how GNOME works, and how to make the most of it. Expert GNOME developer John R. Sheets begins by introducing the GNOME project and all of the tools that go with it, including editors, compilers, debuggers, autoconf, automake, and how GNOME builds on the X Window System. The book's across-the-board coverage includes GTK+, Glib, the GNOME Build Environment, and each key element of a GNOME interface, including menus and toolbars, dialogs, and the GnomeMDI multiple document interface. Sheets reviews session management, explains how graphics are implemented in GNOME, and reviews the GNOME Canvas. He demonstrates how to make the most of GNOME's internationalization features, and shows how to use -- and even write -- GNOME documentation. For all developers who want to build graphical applications for Linux.

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.

Back to Top


Table Of Contents

Figures.
Tables.
Listings.
Preface.
1. The UNIX Experience.
What Is GNOME?
The Tools.
Availability.
Editors, Compilers, and Debuggers.
Autoconf and Automake.
Libtool.
Internationalization.
CORBA.

The X Window System.
The System.
Clients and Servers.
X Services and Extensions.
The Event Queue.
X Resources.
Graphics.


2. The GTK+/GNOME System.
Glib.
Simple Data Types.
Namespaces.
Logging.
Containers.
Other Toys.

GDK.
The GTK+ Connection.
The Thin Wrapper.
GDK Events.
Drawing Primitives.
Reference Counting.

GTK+.
Widgets.
The GTK+ Type System.
Object Classes.
Object Properties.
Signals.

GNOME.
Core Libraries.
Graphics Libraries.
Components.
Gnome-xml.


3. The GNOME Build Environment.
The Configuration Script.
Running configure.
Inside the configure Script.
Makefile Variable Substitution.

Creating Your Own Configuration.
Autoconf.
The Configuration Header.
Checking for Tools.
Checking for Header Files.
Custom Checks.
Helper Tools.

Generating Makefiles.
GNU Makefile Standards.
Using Automake.
Automake Variables.
Conditional Compiling.
Cutting a Distribution.

Dealing with Libraries.
Libtool Support.
libtoolize.
A Grumpy Example.
Exploring the Results.
A Note about Version Numbers.

Adding GNOME.
GNOME Macros.
gnome-config.
GNOME Makefile Variables.
autogen.sh.
Some Grumpy GNOME Examples.


4. Internationalization.
How Internationalization Works.
Preparing the Source Files.
Setting Up the Environment.
Creating the Translation Files.
Updating the Translation Files.
Integrating into GNOME.

5. The GNOME Application.
Header Files.
The GnomeApp Widget.
The Main Loop.
Command Line Options.
The Popt Library.
Adding Command Line Options.

Saving Options.
GNOME Desktop Files.

6. Menus and Toolbars.
The GTK+ Menu System.
GTK+ Menus.
GtkMenuItem.
GtkMenuBar and GtkMenu.

The GNOME Menu System.
The GnomeUIInfo Structure.
Menu Item Types.
Pixmaps in a Menu.
Menu Callbacks.
Menu Macros.
Menu Array Examples.

The GNOME Menu API.
Creating Menus.
Creating Toolbars.

Pop-up Menus.
Popping Up on a Click.
Popping Up on an Event.

The Status Bar.
GnomeAppBar versus GtkStatusbar.
Creating a GnomeAppBar Widget.
Setting Messages.
Updating the Progress Bar.


7. Dialogs.
Message Dialogs.
Information Dialogs.
The Question Dialog.
Message Boxes.
GnomeApp Messages.

The GnomeDialog Widget.
Creating a GnomeDialog Widget.
Running the Dialog.
Dialog Properties.
Closing the Dialog.

The About Box.
Property Boxes.
Creating a Property Box.
Property Box Signals.


8. Using GnomeMDI.
Multiple Documents in GNOME.
GnomeMDI Object.
MDI Modes.
Menu Templates.
Getting Around.
Registration.

GnomeMDIChild.
The Child Object.
GnomeMDIChild Callbacks.
Using the Generic Child.
Menu Creation through a Callback.

MDI Signals.
add and remove Signals.
changed Signals.

Sample MDI Application.

9. Session Management.
GnomeClient.
Session Commands.
Session Signals.
Adding Session Management to Your Application.

10. Graphics.
Graphics in the X Window System.
Frame Buffers.
Color Maps.
Visuals.
Drawables.
Images.

The GDK Wrapper.
Simpler API.
Using Color in GDK.

GdkRGB.
The RGB Buffer.
Drawing Functions.
Color Management.

Libart.
Vector Paths.
BEzier Paths.
Sorted Vector Paths.
Microtile Arrays.
Affine Transformations.
Pixel Buffers.

Gdk-pixbuf.
Creating.
Rendering.
Scaling.
Progressive Loading.
Autoconf Support.
Gdk-pixbuf Application Example.


11. The GNOME Canvas.
The Canvas.
Double-Buffered Drawing Surface.
The Canvas Abstraction.
Canvas Groups.
Events.

Coordinate Systems.
World Coordinates.
Item Coordinates.
Canvas Coordinates.
Window Coordinates.

Using the Canvas.
GDK versus AA.
The Scrolling Region.
Adding Canvas Items.
Moving Canvas Items Around.
Transformations.

Canvas Items.
Vector-Based Drawing Items.
Line Styles.
The Shape of the Item.
Widgets in the Canvas.
Text Canvas Items.
Graphical Canvas Items.

Canvas Events.
The Event Callback.
Clicks and Double Clicks.
Mouse Motion.
Rollovers.
Keyboard Events.
Grabbing Items.
Dragging and Dropping Canvas Items.


12. Documentation.
Writing Documentation.
HTML Documents.
DocBook Documents.

Installing Documentation.
The Help Directory.
Setting Up Makefile.am.
Adding a topic.dat File.

Invoking the Help System.
The Help Browser.
URL Handlers.
Bringing Up Help.
Adding Help to the Menu.
Help in a Property Box.

Sample Help Application.
The HTML Help File.
topic.dat.
configure.in.
Makefile.am.
main.c.
Compiling and Running the Application.


Appendix.
What Is GNOME?
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


Back to Top