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
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.
Adjustments
12.1.
Creating an Adjustment
12.2.
Using Adjustments the Easy Way
12.3.
Adjustment Internals
13.
Widgets Without X-Windows
13.1.
EventBox
14.
Dialogs
14.1.
MessageDialog
14.2.
FileChooserDialog
14.3.
ColorSelectionDialog
14.4.
FontSelectionDialog
15.
The Drawing Area Widget
15.1.
The Cairo Drawing Model
15.2.
Drawing Straight Lines
15.3.
Drawing Curved Lines
15.4.
Drawing Arcs and Circles
15.5.
Drawing Text
15.6.
Drawing Images
15.7.
Example Application: Creating a Clock with Cairo
16.
Drag and Drop
16.1.
Sources and Destinations
16.2.
Methods
16.3.
Signals
16.4.
DragContext
16.5.
Example
17.
The Clipboard
17.1.
Targets
17.2.
Copy
17.3.
Paste
17.4.
Examples
18.
Printing
18.1.
PrintOperation
18.2.
Page setup
18.3.
Rendering text
18.4.
Asynchronous operations
18.5.
Export to PDF
18.6.
Extending the print dialog
18.7.
Preview
18.8.
Example
19.
Recently Used Documents
19.1.
RecentManager
19.2.
RecentChooser
20.
Plugs and Sockets
20.1.
Overview
20.2.
Plugs and Sockets Example
21.
Timeouts, I/O and Idle Functions
21.1.
Timeouts
21.2.
Monitoring I/O
21.3.
Idle Functions
22.
Memory management
22.1.
Widgets
22.2.
Shared resources
23.
Glade and Gtk::Builder
23.1.
Loading the .glade file
23.2.
Accessing widgets
23.3.
Using derived widgets
24.
Internationalization and Localization
24.1.
Preparing your project
24.2.
Marking strings for translation
24.3.
Expecting UTF8
24.4.
Pitfalls
24.5.
Getting help with translations
25.
Custom Widgets
25.1.
Custom Containers
25.2.
Custom Widgets
26.
Recommended Techniques
26.1.
Application Lifetime
26.2.
Using a
gtkmm
widget
27.
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