Programming with gtkmm 3
- 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. Changes in gtkmm 3
-
5. Buttons
- 5.1. Button
- 5.2. ToggleButton
- 5.3. CheckButton
- 5.4. RadioButton
-
6. Range Widgets
- 6.1. Scrollbar Widgets
- 6.2. Scale Widgets
- 6.3. Update Policies
- 6.4. Example
-
7. Miscellaneous Widgets
- 7.1. Label
- 7.2. Entry
- 7.3. SpinButton
- 7.4. ProgressBar
- 7.5. InfoBar
- 7.6. Tooltips
-
8. Container Widgets
- 8.1. Single-item Containers
- 8.2. Multiple-item widgets
-
9. The TreeView widget
- 9.1. The Model
- 9.2. The View
- 9.3. Iterating over Model Rows
- 9.4. The Selection
- 9.5. Sorting
- 9.6. Drag and Drop
- 9.7. Popup Context Menu
- 9.8. Examples
-
10. Combo Boxes
- 10.1. The model
- 10.2. The chosen item
- 10.3. Responding to changes
- 10.4. Full Example
- 10.5. Simple Text Example
- 10.6. ComboBox with an Entry
-
11. TextView
- 11.1. The Buffer
- 11.2. Widgets and ChildAnchors
- 11.3. Examples
-
12. Menus and Toolbars
- 12.1. Actions
- 12.2. UIManager
- 12.3. Popup Menus
- 12.4. Examples
-
13. ToolPalette
- 13.1. Drag and Drop
- 13.2. ToolPalette Example
-
14. Adjustments
- 14.1. Creating an Adjustment
- 14.2. Using Adjustments the Easy Way
- 14.3. Adjustment Internals
-
15. Widgets Without X-Windows
- 15.1. EventBox
-
16. Dialogs
- 16.1. MessageDialog
- 16.2. FileChooserDialog
- 16.3. ColorSelectionDialog
- 16.4. FontSelectionDialog
-
17. The Drawing Area Widget
- 17.1. The Cairo Drawing Model
- 17.2. Drawing Straight Lines
- 17.3. Drawing Curved Lines
- 17.4. Drawing Arcs and Circles
- 17.5. Drawing Text
- 17.6. Drawing Images
- 17.7. Example Application: Creating a Clock with Cairo
-
18. Drag and Drop
- 18.1. Sources and Destinations
- 18.2. Methods
- 18.3. Signals
- 18.4. DragContext
- 18.5. Example
- 19. The Clipboard
-
20. Printing
- 20.1. PrintOperation
- 20.2. Page setup
- 20.3. Rendering text
- 20.4. Asynchronous operations
- 20.5. Export to PDF
- 20.6. Extending the print dialog
- 20.7. Preview
- 20.8. Example
-
21. Recently Used Documents
- 21.1. RecentManager
- 21.2. RecentChooser
-
22. Plugs and Sockets
- 22.1. Overview
- 22.2. Plugs and Sockets Example
-
23. Timeouts, I/O and Idle Functions
- 23.1. Timeouts
- 23.2. Monitoring I/O
- 23.3. Idle Functions
-
24. Memory management
- 24.1. Widgets
- 24.2. Shared resources
-
25. Glade and Gtk::Builder
- 25.1. Loading the .glade file
- 25.2. Accessing widgets
- 25.3. Using derived widgets
-
26. Internationalization and Localization
- 26.1. Preparing your project
- 26.2. Marking strings for translation
- 26.3. Expecting UTF8
- 26.4. Pitfalls
- 26.5. Getting help with translations
-
27. Custom Widgets
- 27.1. Custom Containers
- 27.2. Custom Widgets
-
28. Recommended Techniques
- 28.1. Application Lifetime
- 28.2. Using a gtkmm widget
-
29. 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