Home
News
Projects
Art
Support
Development
Community
GNOME Documentation Library
Home
Users
Administrators
Developers
About
About This Document
Programming with
gtkmm
Introduction
Installation
Basics
Buttons
Range Widgets
Miscellaneous Widgets
Container Widgets
The TreeView widget
Combo Boxes
TextView
Menus and Toolbars
ToolPalette
Adjustments
Widgets Without X-Windows
Dialogs
The Drawing Area Widget
Drag and Drop
The Clipboard
Printing
Recently Used Documents
Plugs and Sockets
Timeouts, I/O and Idle Functions
Memory management
Glade and Gtk::Builder
Internationalization and Localization
Custom Widgets
Recommended Techniques
Contributing
The RefPtr smartpointer
Signals
Creating your own signals
Comparison with other signalling systems
gtkmm
and Win32
Drawing With GDK
Working with Subversion
Wrapping C Libraries with gmmproc
Optional API
Programming with
gtkmm
1.
Introduction
1.1.
This book
1.2.
gtkmm
2.
Installation
2.1.
Dependencies
2.2.
Unix and Linux
2.3.
Microsoft Windows
3.
Basics
3.1.
Simple Example
3.2.
Headers and Linking
3.3.
Widgets
3.4.
Signals
3.5.
Glib::ustring
3.6.
Intermediate types
3.7.
Hello World in
gtkmm
4.
Buttons
4.1.
Button
4.2.
ToggleButton
4.3.
CheckButton
4.4.
RadioButton
5.
Range Widgets
5.1.
Scrollbar Widgets
5.2.
Scale Widgets
5.3.
Update Policies
5.4.
Example
6.
Miscellaneous Widgets
6.1.
Label
6.2.
Entry
6.3.
SpinButton
6.4.
ProgressBar
6.5.
InfoBar
6.6.
Tooltips
7.
Container Widgets
7.1.
Single-item Containers
7.2.
Multiple-item widgets
8.
The TreeView widget
8.1.
The Model
8.2.
The View
8.3.
Iterating over Model Rows
8.4.
The Selection
8.5.
Sorting
8.6.
Drag and Drop
8.7.
Popup Context Menu
8.8.
Examples
9.
Combo Boxes
9.1.
ComboBox
9.2.
ComboBoxEntry
10.
TextView
10.1.
The Buffer
10.2.
Widgets and ChildAnchors
10.3.
Examples
11.
Menus and Toolbars
11.1.
Actions
11.2.
UIManager
11.3.
Popup Menus
11.4.
Examples
12.
ToolPalette
12.1.
Drag and Drop
12.2.
ToolPalette Example
13.
Adjustments
13.1.
Creating an Adjustment
13.2.
Using Adjustments the Easy Way
13.3.
Adjustment Internals
14.
Widgets Without X-Windows
14.1.
EventBox
15.
Dialogs
15.1.
MessageDialog
15.2.
FileChooserDialog
15.3.
ColorSelectionDialog
15.4.
FontSelectionDialog
16.
The Drawing Area Widget
16.1.
The Cairo Drawing Model
16.2.
Drawing Straight Lines
16.3.
Drawing Curved Lines
16.4.
Drawing Arcs and Circles
16.5.
Drawing Text
16.6.
Drawing Images
16.7.
Example Application: Creating a Clock with Cairo
17.
Drag and Drop
17.1.
Sources and Destinations
17.2.
Methods
17.3.
Signals
17.4.
DragContext
17.5.
Example
18.
The Clipboard
18.1.
Targets
18.2.
Copy
18.3.
Paste
18.4.
Examples
19.
Printing
19.1.
PrintOperation
19.2.
Page setup
19.3.
Rendering text
19.4.
Asynchronous operations
19.5.
Export to PDF
19.6.
Extending the print dialog
19.7.
Preview
19.8.
Example
20.
Recently Used Documents
20.1.
RecentManager
20.2.
RecentChooser
21.
Plugs and Sockets
21.1.
Overview
21.2.
Plugs and Sockets Example
22.
Timeouts, I/O and Idle Functions
22.1.
Timeouts
22.2.
Monitoring I/O
22.3.
Idle Functions
23.
Memory management
23.1.
Widgets
23.2.
Shared resources
24.
Glade and Gtk::Builder
24.1.
Loading the .glade file
24.2.
Accessing widgets
24.3.
Using derived widgets
25.
Internationalization and Localization
25.1.
Preparing your project
25.2.
Marking strings for translation
25.3.
Expecting UTF8
25.4.
Pitfalls
25.5.
Getting help with translations
26.
Custom Widgets
26.1.
Custom Containers
26.2.
Custom Widgets
27.
Recommended Techniques
27.1.
Application Lifetime
27.2.
Using a
gtkmm
widget
28.
Contributing
A.
The RefPtr smartpointer
A.1.
Copying
A.2.
Dereferencing
A.3.
Casting
A.4.
Checking for null
A.5.
Constness
B.
Signals
B.1.
Connecting signal handlers
B.2.
Writing signal handlers
B.3.
Disconnecting signal handlers
B.4.
Overriding default signal handlers
B.5.
Binding extra arguments
B.6.
X Event signals
C.
Creating your own signals
D.
Comparison with other signalling systems
E.
gtkmm
and Win32
E.1.
Building
gtkmm
on Win32
F.
Drawing With GDK
G.
Working with Subversion
G.1.
Setting up jhbuild
G.2.
Installing and Using the svn version of
gtkmm
H.
Wrapping C Libraries with gmmproc
H.1.
The build structure
H.2.
Generating the .defs files.
H.3.
The .hg and .ccg files
H.4.
Hand-coded source files
H.5.
Initialization
H.6.
Problems in the C API.
H.7.
Documentation
I.
Optional API
I.1.
Optional API when building glibmm
I.2.
Optional API when building gtkmm
About This Document
Introduction