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

Programming with gtkmm 4

# Programming with gtkmm 4

### 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

Update from gtkmm 3 to gtkmm 4. 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
- 6.1. buttons example
- 6.2. CheckButton
- 6.3. RadioButton
- 7.1. Range Widgets
- 8.1. Label
- 8.2. Entry
- 8.3. Entry Completion
- 8.4. Entry with Icon
- 8.5. Entry with Progress Bar
- 8.6. SpinButton
- 8.7. ProgressBar
- 8.8. InfoBar
- 8.9. Tooltip
- 9.1. Frame
- 9.2. Paned
- 9.3. ScrolledWindow
- 9.4. AspectFrame
- 9.5. Hello World 2
- 9.6. Box Packing 1
- 9.7. Box Packing 2
- 9.8. Grid
- 9.9. Notebook
- 9.10. Assistant
- 10.1. TreeView - ListStore
- 10.2. TreeView - TreeStore
- 10.3. TreeView - ListStore
- 10.4. TreeView - TreeStore
- 10.5. TreeView - Editable Cells
- 10.6. TreeView - Drag And Drop
- 10.7. TreeView - Popup Context Menu
- 11.1. ComboBox
- 11.2. ComboBoxText
- 11.3. ComboBox with Entry
- 11.4. ComboBoxText with Entry
- 12.1. TextView
- 13.1. App and Main Menu
- 13.2. Main Menu
- 13.3. Popup Menu
- 15.1. MessageDialog
- 15.2. FileChooser
- 15.3. ColorChooserDialog
- 15.4. FontChooserDialog
- 15.5. AboutDialog
- 16.1. Drawing Area - Lines
- 16.2. Different join types in Cairo
- 16.3. Drawing Area - Thin Lines
- 16.4. Drawing Area - Lines
- 16.5. Drawing Area - Arcs
- 16.6. Drawing Area - Text
- 16.7. Drawing Area - Image
- 17.1. Drag and Drop
- 18.1. Clipboard - Simple
- 18.2. Clipboard - Ideal
- 19.1. Printing - Simple
- 21.1. Keyboard Events - Simple
- 21.2. Keyboard Events - Event Propagation
- 26.1. Custom Container
- 26.2. Custom Widget
- 27.1. Multi-Threaded Program
- 29.1. A trivial application
- 29.2. Populating the window
- 29.3. Opening files
- 29.4. A menu
- 29.5. An preference dialog
- 29.6. Adding a search bar
- 29.7. Adding a side bar
- 29.8. Properties
- 29.9. Header bar

|  | Chapter 1. Introduction