Programming with gtkmm 3

# Programming with gtkmm 3

### Murray Cumming

### Bernhard Rieder

Chapter on "Timeouts".

### Jonathon Jongsma

Chapter on "Drawing with Cairo". Chapter on "Working with gtkmm's Source Code". Chapter on "Recent Files".

### Ole Laursen

Parts of chapter on "Internationalization".

### Marko Anastasov

Chapter on "Printing". Parts of chapter on "Internationalization".

### Daniel Elstner

Section "Build Structure" of chapter on "Wrapping C Libraries with gmmproc".

### Chris Vine

Chapter on "Multi-threaded programs".

### David King

Section on Gtk::Grid.

### Pedro Ferreira

Chapter on Keyboard Events.

### Kjell Ahlstedt

Parts of the update from gtkmm 2 to gtkmm 3. Chapter on "Building applications".

Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Murray Cumming

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Abstract

This book explains key concepts of the gtkmm C++ API for creating user interfaces. It also introduces the main user interface elements ("widgets").

List of Figures

- 3.1. Hello World
- 5.1. buttons example
- 5.2. CheckButton
- 5.3. RadioButton
- 6.1. Range Widgets
- 7.1. Label
- 7.2. Entry
- 7.3. Entry Completion
- 7.4. Entry with Icon
- 7.5. Entry with Progress Bar
- 7.6. SpinButton
- 7.7. ProgressBar
- 7.8. InfoBar
- 7.9. Tooltip
- 8.1. Frame
- 8.2. Paned
- 8.3. ScrolledWindow
- 8.4. AspectFrame
- 8.5. Alignment
- 8.6. Hello World 2
- 8.7. Box Packing 1
- 8.8. Box Packing 2
- 8.9. ButtonBox
- 8.10. Grid
- 8.11. Notebook
- 8.12. Assistant
- 9.1. TreeView - ListStore
- 9.2. TreeView - TreeStore
- 9.3. TreeView - ListStore
- 9.4. TreeView - TreeStore
- 9.5. TreeView - Editable Cells
- 9.6. TreeView - Drag And Drop
- 9.7. TreeView - Popup Context Menu
- 10.1. ComboBox
- 10.2. ComboBoxText
- 10.3. ComboBox with Entry
- 10.4. ComboBoxText with Entry
- 11.1. TextView
- 12.1. App and Main Menu
- 12.2. Main Menu
- 12.3. Popup Menu
- 13.1. ToolPalette
- 15.1. EventBox
- 16.1. MessageDialog
- 16.2. FileChooser
- 16.3. ColorChooserDialog
- 16.4. FontChooserDialog
- 16.5. AboutDialog
- 17.1. Drawing Area - Lines
- 17.2. Different join types in Cairo
- 17.3. Drawing Area - Thin Lines
- 17.4. Drawing Area - Lines
- 17.5. Drawing Area - Arcs
- 17.6. Drawing Area - Text
- 17.7. Drawing Area - Image
- 18.1. Drag and Drop
- 19.1. Clipboard - Simple
- 19.2. Clipboard - Ideal
- 20.1. Printing - Simple
- 23.1. Keyboard Events - Simple
- 23.2. Keyboard Events - Event Propagation
- 28.1. Custom Container
- 28.2. Custom Widget
- 29.1. Multi-Threaded Program
- 31.1. A trivial application
- 31.2. Populating the window
- 31.3. Opening files
- 31.4. An application menu
- 31.5. An preference dialog
- 31.6. Adding a search bar
- 31.7. Adding a side bar
- 31.8. Properties
- 31.9. Header bar

|  | Chapter 1. Introduction