Programming with gtkmm 2
- 1. Introduction
-
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. Mixing C and C++ APIs
- 3.8. 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. The model
- 9.2. The chosen item
- 9.3. Responding to changes
- 9.4. Full Example
- 9.5. Simple Text Example
- 9.6. ComboBox with an Entry
-
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
-
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
-
C. Creating your own signals
- C.1. Example
-
D. Comparison with other signalling systems
- E. gtkmm and Win32
- F. Working with gtkmm's Source Code
-
G. Wrapping C Libraries with gmmproc
- G.1. The build structure
- G.2. Generating the .defs files.
- G.3. The .hg and .ccg files
- G.4. Hand-coded source files
- G.5. Initialization
- G.6. Problems in the C API.
- G.7. Documentation