Programming with gtkmm 4
-
1. Einführung
- 1.1. Dieses Buch
- 1.2. gtkmm
-
2. Installation
- 2.1. Abhängigkeiten
- 2.2. Unix und Linux
- 2.3. Microsoft Windows
-
3. Grundlagen
- 3.1. Einfaches Beispiel
- 3.2. Headers and Linking
- 3.3. Widgets
- 3.4. Signale
- 3.5. Glib::ustring
- 3.6. Mischen der APIs von C und C++
- 3.7. »Hello World« in gtkmm
-
4. Änderungen in gtkmm 3
-
5. Changes in gtkmm-4.0 and glibmm-2.68
-
6. Knöpfe
- 6.1. Knopf
- 6.2. ToggleButton
- 6.3. CheckButton
- 6.4. Radio Button
-
7. Range Widgets
- 7.1. Rollbalken-Widgets
- 7.2. Scale Widgets
- 7.3. Beispiel
-
8. Verschiedene Widgets
- 8.1. Bezeichnung
- 8.2. Eintrag
- 8.3. SpinButton
- 8.4. ProgressBar
- 8.5. InfoBar
- 8.6. Minihilfen
- 9. Container-Widgets
-
10. Das TreeView-Widget
- 10.1. Das Modell
- 10.2. Die Ansicht
- 10.3. Iterating over Model Rows
- 10.4. Die Auswahl
- 10.5. Sortierung
- 10.6. Ziehen und Ablegen
- 10.7. Popup-Kontextmenü
- 10.8. Beispiele
-
11. Kombinierte Auswahlfelder
- 11.1. Das Modell
- 11.2. Das gewählte Objekt
- 11.3. Reaktion auf Änderungen
- 11.4. Vollständiges Beispiel
- 11.5. Einfaches Textbeispiel
- 11.6. ComboBox mit Eingabe
-
12. TextView
- 12.1. Der Puffer
- 12.2. Widgets und ChildAnchors
- 12.3. Beispiele
-
13. Menüs und Werkzeugleisten
- 13.1. Aktionen
- 13.2. Menubar and Toolbar
- 13.3. Kontextmenüs
- 13.4. Gio::Resource and glib-compile-resources
- 13.5. Beispiele
-
14. Anpassungen
- 14.1. Creating an Adjustment
- 14.2. Using Adjustments the Easy Way
- 14.3. Adjustment Internals
-
15. Dialoge
- 15.1. MessageDialog
- 15.2. FileChooserDialog
- 15.3. ColorChooserDialog
- 15.4. FontChooserDialog
- 15.5. Nicht-modaler AboutDialog
-
16. The DrawingArea Widget
- 16.1. Das Cairo-Zeichenmodell
- 16.2. Zeichnen gerader Linien
- 16.3. Zeichnen von gebogenen Linien
- 16.4. Zeichnen von Kreisbögen und Kreisen
- 16.5. Zeichnen von Text
- 16.6. Zeichnen von Grafiken
- 16.7. Beispielanwendung: Eine Uhr mit Cairo
-
17. Ziehen und Ablegen
- 17.1. Quellen und Ziele
- 17.2. Methoden
- 17.3. Signale
- 17.4. Beispiel
- 18. Die Zwischenablage
-
19. Drucken
- 19.1. PrintOperation
- 19.2. Seite einrichten
- 19.3. Darstellen von Text
- 19.4. Asynchrone Vorgänge
- 19.5. PDF-Export
- 19.6. Erweitern des Druckdialogs
- 19.7. Vorschau
- 19.8. Beispiel
-
20. Kürzlich geöffnete Dokumente
- 20.1. RecentManager
- 20.2. FileChooser
-
21. Tastaturereignisse
- 21.1. Übersicht
- 21.2. Event Propagation
-
22. Timeouts, I/O and Idle Functions
- 22.1. Timeouts
- 22.2. Überwachung von Ein- und Ausgaben
- 22.3. Untätigkeitsfunktionen
-
23. Speicherverwaltung
- 23.1. Widgets
- 23.2. Gemeinsame Ressourcen
-
24. Glade und Gtk::Builder
- 24.1. Laden der .glade-Datei
- 24.2. Zugriff auf Widgets
- 24.3. Verwenden abgeleiteter Widgets
-
25. Internationalisierung und Lokalisierung
- 25.1. Einrichten Ihres Projekts
- 25.2. Markieren von Zeichenketten für die Übersetzung
- 25.3. Expecting UTF8
- 25.4. Fallstricke
- 25.5. Hilfe zu Übersetzungen erhalten
- 26. Benutzerdefinierte Widgets
-
27. Multi-threaded programs
- 27.1. Die Einschränkungen
- 27.2. Verwendung von Glib::Dispatcher
- 27.3. Beispiel
- 28. Empfohlene Techniken
-
29. Building applications
- 29.1. A trivial application
- 29.2. Populating the window
- 29.3. Opening files
- 29.4. A menu
- 29.5. A preference dialog
- 29.6. Adding a search bar
- 29.7. Adding a side bar
- 29.8. Properties
- 29.9. Header bar
-
30. Contributing
-
A. Der RefPtr-Smartpointer
- A.1. Kopieren
- A.2. Dereferenzierung
- A.3. Casting
- A.4. Checking for nullptr
- A.5. Constness
- B. Signale
-
C. Erzeugen Ihrer eigenen Signale
- C.1. Beispiel
-
D. Vergleich mit anderen Signalsystemen
-
E. gtkmm und Win32
- F. Arbeiten mit dem Quelltext von gtkmm
-
G. Wrapping von C-Bibliotheken mit gmmproc
- G.1. Die Erstellungsstruktur
- G.2. Erstellen der .defs-Dateien.
- G.3. Die .hg- und .ccg-Dateien
- G.4. Handgeschriebene Quelldateien
- G.5. Initialisierung
- G.6. Probleme in der C-API.
- G.7. Dokumentation