[glom] Do not include gtkmm.h, glibmm.h, giomm.h, or similar in headers.



commit e2c7bce43f8a8de228c3ce72fc619e5c31ffe260
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Oct 24 16:19:01 2011 +0200

    Do not include gtkmm.h, glibmm.h, giomm.h, or similar in headers.
    
    	* Many files: Use more specific includes.

 ChangeLog                                          |    6 ++++++
 glom/application.cc                                |    4 +++-
 glom/application.h                                 |    3 ++-
 glom/base_db.h                                     |    3 ++-
 glom/base_db_table_data.cc                         |    1 +
 glom/box_reports.cc                                |    7 +++++--
 glom/box_withbuttons.cc                            |    1 +
 glom/box_withbuttons.h                             |    2 +-
 glom/frame_glom.cc                                 |    2 ++
 glom/import_csv/dialog_import_csv.cc               |    1 +
 glom/import_csv/dialog_import_csv.h                |    3 +++
 glom/import_csv/dialog_import_csv_progress.cc      |    1 +
 glom/import_csv/dialog_import_csv_progress.h       |    2 ++
 glom/libglom/appstate.h                            |    2 +-
 glom/libglom/connectionpool.h                      |    2 +-
 glom/libglom/connectionpool_backends/postgres.cc   |    1 +
 glom/libglom/connectionpool_backends/postgres.h    |    2 +-
 glom/libglom/connectionpool_backends/sqlite.cc     |    1 +
 glom/libglom/connectionpool_backends/sqlite.h      |    2 +-
 glom/libglom/data_structure/field.h                |    4 +++-
 glom/libglom/data_structure/fieldtypes.h           |    2 +-
 .../data_structure/layout/fieldformatting.h        |    2 +-
 glom/libglom/db_utils.cc                           |    1 +
 glom/libglom/document/bakery/document.h            |    3 ++-
 glom/libglom/glom_postgres.h                       |    2 --
 glom/libglom/init.cc                               |    3 ++-
 glom/libglom/privs.h                               |    2 --
 glom/mode_data/box_data.cc                         |    1 +
 glom/mode_data/box_data_calendar_related.cc        |    1 +
 glom/mode_data/box_data_details.cc                 |    2 ++
 glom/mode_data/box_data_portal.h                   |    3 +++
 glom/mode_data/buttonglom.h                        |    2 +-
 glom/mode_data/datawidget/cellrenderer_dblist.h    |    3 +--
 glom/mode_data/datawidget/checkbutton.h            |    2 +-
 glom/mode_data/datawidget/combo.cc                 |    1 +
 glom/mode_data/datawidget/combo.h                  |    1 +
 glom/mode_data/datawidget/combo_as_radio_buttons.h |    2 ++
 glom/mode_data/datawidget/combochoices.h           |    1 -
 .../datawidget/combochoiceswithtreemodel.cc        |    1 +
 .../datawidget/combochoiceswithtreemodel.h         |    2 ++
 glom/mode_data/datawidget/datawidget.cc            |    1 +
 glom/mode_data/datawidget/datawidget.h             |    2 ++
 glom/mode_data/datawidget/dialog_choose_date.h     |    1 +
 glom/mode_data/datawidget/entry.h                  |    2 +-
 glom/mode_data/datawidget/label.h                  |    3 ++-
 glom/mode_data/datawidget/textview.h               |    3 ++-
 glom/mode_data/datawidget/treemodel_db.cc          |    5 ++++-
 glom/mode_data/datawidget/treemodel_db.h           |    5 ++---
 glom/mode_data/db_adddel/db_adddel.cc              |    1 +
 glom/mode_data/db_adddel/db_adddel.h               |    7 +++++--
 glom/mode_data/db_adddel/db_adddel_withbuttons.cc  |    2 ++
 glom/mode_data/db_adddel/db_adddel_withbuttons.h   |    1 +
 glom/mode_data/flowtablewithfields.h               |    5 +++++
 glom/mode_data/placeholder-glom.cc                 |    1 +
 glom/mode_data/placeholder-glom.h                  |    2 +-
 glom/mode_design/dialog_database_preferences.h     |    2 ++
 glom/mode_design/dialog_design.h                   |    3 ++-
 glom/mode_design/fields/box_db_table_definition.cc |    1 +
 glom/mode_design/fields/combo_fieldtype.h          |    1 -
 glom/mode_design/fields/dialog_fieldcalculation.h  |    4 +++-
 glom/mode_design/fields/dialog_fielddefinition.h   |    5 ++++-
 glom/mode_design/layout/dialog_choose_field.h      |    3 ++-
 glom/mode_design/layout/dialog_layout.h            |    1 +
 .../layout/dialog_layout_calendar_related.h        |    2 ++
 glom/mode_design/layout/dialog_layout_details.h    |    2 ++
 .../layout/dialog_layout_list_related.h            |    3 +++
 .../layout/layout_item_dialogs/box_formatting.h    |    7 ++++++-
 .../layout_item_dialogs/dialog_buttonscript.h      |    3 ++-
 .../layout_item_dialogs/dialog_field_layout.h      |    4 +++-
 .../layout_item_dialogs/dialog_field_summary.h     |    4 +++-
 .../layout_item_dialogs/dialog_formatting.cc       |    1 +
 .../layout/layout_item_dialogs/dialog_formatting.h |    2 +-
 .../layout/layout_item_dialogs/dialog_group_by.h   |    4 +++-
 .../layout_item_dialogs/dialog_imageobject.h       |    4 +++-
 .../layout/layout_item_dialogs/dialog_line.h       |    4 +++-
 .../layout/layout_item_dialogs/dialog_textobject.h |    4 +++-
 .../mode_design/print_layouts/box_print_layouts.cc |    3 +++
 .../print_layouts/dialog_text_formatting.h         |    2 +-
 .../print_layouts/window_print_layout_edit.cc      |    2 +-
 .../print_layouts/window_print_layout_edit.h       |    2 ++
 .../printoperation_relationshipsoverview.h         |    2 +-
 .../report_layout/dialog_layout_report.h           |    4 ++++
 .../script_library/dialog_script_library.cc        |    1 +
 .../script_library/dialog_script_library.h         |    2 +-
 .../mode_design/translation/window_translations.cc |    3 +++
 glom/mode_design/translation/window_translations.h |    5 ++++-
 glom/mode_design/users/dialog_groups_list.h        |    4 +++-
 glom/mode_design/users/dialog_user.h               |    3 ++-
 glom/mode_design/users/dialog_users_list.h         |    3 ++-
 glom/navigation/box_tables.cc                      |    1 +
 glom/navigation/box_tables.h                       |    1 +
 glom/utility_widgets/adddel/adddel.cc              |    1 +
 glom/utility_widgets/adddel/adddel.h               |    7 +++++--
 glom/utility_widgets/adddel/adddel_withbuttons.cc  |    1 +
 glom/utility_widgets/adddel/adddel_withbuttons.h   |    1 +
 glom/utility_widgets/canvas/canvas_editable.h      |    2 +-
 glom/utility_widgets/cellrendererlist.h            |    5 ++---
 glom/utility_widgets/dialog_flowtable.h            |    4 +++-
 glom/utility_widgets/dialog_properties.cc          |    2 ++
 glom/utility_widgets/dialog_properties.h           |    1 +
 .../eggspreadtablemm/eggspreadtablemm.h            |    1 -
 glom/utility_widgets/flowtable.cc                  |    4 ++--
 glom/utility_widgets/flowtable.h                   |    2 +-
 glom/utility_widgets/imageglom.cc                  |    4 ++++
 glom/utility_widgets/imageglom.h                   |    6 +++++-
 glom/utility_widgets/layouttoolbarbutton.h         |    2 +-
 glom/utility_widgets/layoutwidgetbase.h            |    2 +-
 glom/utility_widgets/layoutwidgetmenu.h            |    1 +
 glom/utility_widgets/layoutwidgetutils.h           |    4 +++-
 glom/utility_widgets/notebookglom.h                |    2 +-
 glom/utility_widgets/notebooklabelglom.h           |    6 ++++--
 glom/utility_widgets/placeholder.h                 |    2 +-
 tests/import/test_parsing.cc                       |    1 -
 tests/import/test_signals.cc                       |    1 -
 tests/test_parsing_time.cc                         |    1 +
 115 files changed, 216 insertions(+), 77 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 01c9512..4e73b2e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2011-10-24  Murray Cumming  <murrayc murrayc com>
 
+	Do not include gtkmm.h, glibmm.h, giomm.h, or similar in headers.
+
+	* Many files: Use more specific includes.
+
+2011-10-24  Murray Cumming  <murrayc murrayc com>
+
 	Progress InfoBar: Block user input during progress.
 
 	* glom/application.cc: set_progress_message(): Set the main UI elements to 
diff --git a/glom/application.cc b/glom/application.cc
index a827ec1..169ed0c 100644
--- a/glom/application.cc
+++ b/glom/application.cc
@@ -38,7 +38,9 @@
 #include <glom/python_embed/glom_python.h>
 #include <libglom/spawn_with_feedback.h>
 
-#include <gtkmm/aboutdialog.h>
+#include <gtkmm/radioaction.h>
+#include <gtkmm/stock.h>
+#include <gtkmm/main.h>
 
 #include <cstdio>
 #include <memory> //For std::auto_ptr<>
diff --git a/glom/application.h b/glom/application.h
index 21e31c3..073792f 100644
--- a/glom/application.h
+++ b/glom/application.h
@@ -27,7 +27,8 @@
 #include <glom/frame_glom.h>
 #include <glom/show_progress_message.h>
 #include <glom/infobar_progress_creating.h>
-
+#include <gtkmm/aboutdialog.h>
+#include <gtkmm/messagedialog.h>
 
 //Avoid including the header here:
 extern "C"
diff --git a/glom/base_db.h b/glom/base_db.h
index 10fa135..10f8897 100644
--- a/glom/base_db.h
+++ b/glom/base_db.h
@@ -23,7 +23,7 @@
 
 #include "config.h" // For GLOM_ENABLE_CLIENT_ONLY
 
-#include <gtkmm.h>
+//#include <gtkmm.h>
 
 #include <libglom/document/view.h>
 #include <libglom/connectionpool.h>
@@ -35,6 +35,7 @@
 #include <libglom/calcinprogress.h>
 #include <libglom/document/bakery/view/view.h>
 #include <glom/bakery/busy_cursor.h>
+#include <gtkmm/treemodel.h>
 
 #include <libgdamm/set.h>
 #include <libgdamm/sqlbuilder.h>
diff --git a/glom/base_db_table_data.cc b/glom/base_db_table_data.cc
index 5180d06..edac7b7 100644
--- a/glom/base_db_table_data.cc
+++ b/glom/base_db_table_data.cc
@@ -24,6 +24,7 @@
 #include <glom/application.h>
 #include <glom/python_embed/glom_python.h>
 #include <glom/utils_ui.h>
+#include <gtkmm/stock.h>
 #include <libglom/db_utils.h>
 #include <sstream>
 #include <iostream>
diff --git a/glom/box_reports.cc b/glom/box_reports.cc
index 04894b7..7a85e7c 100644
--- a/glom/box_reports.cc
+++ b/glom/box_reports.cc
@@ -18,8 +18,11 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include "box_reports.h"
+#include <glom/box_reports.h>
 #include <libglom/utils.h> //For bold_message()).
+#include <gtkmm/alignment.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/messagedialog.h>
 #include <glibmm/i18n.h>
 
 namespace Glom
@@ -219,7 +222,7 @@ void Box_Reports::on_adddel_changed(const Gtk::TreeModel::iterator& row, guint c
         const Glib::ustring report_name_new = m_AddDel.get_value(row, m_colReportName);
         if(!report_name.empty() && !report_name_new.empty())
         {
-          Glib::ustring strMsg = _("Are you sure that you want to rename this report?");  //TODO: Show old and new names?
+          const Glib::ustring strMsg = _("Are you sure that you want to rename this report?");  //TODO: Show old and new names?
           Gtk::MessageDialog dialog(_("Rename Report"));
           dialog.set_secondary_text(strMsg);
           int iButtonClicked = dialog.run();
diff --git a/glom/box_withbuttons.cc b/glom/box_withbuttons.cc
index df2764d..8ba933f 100644
--- a/glom/box_withbuttons.cc
+++ b/glom/box_withbuttons.cc
@@ -21,6 +21,7 @@
 #include <glom/box_withbuttons.h>
 #include <glom/application.h> //Application.
 #include <glom/utils_ui.h>
+#include <gtkmm/stock.h>
 #include <libglom/appstate.h>
 //#include <libgnomeui/gnome-app-helper.h>
 
diff --git a/glom/box_withbuttons.h b/glom/box_withbuttons.h
index e93f1a0..0532a6b 100644
--- a/glom/box_withbuttons.h
+++ b/glom/box_withbuttons.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_BOX_WITHBUTTONS_H
 #define GLOM_BOX_WITHBUTTONS_H
 
-#include <gtkmm.h>
+#include <gtkmm/box.h>
 #include "utility_widgets/adddel/adddel_withbuttons.h"
 
 #include <libglom/document/document.h>
diff --git a/glom/frame_glom.cc b/glom/frame_glom.cc
index 4a59370..0f3a50a 100644
--- a/glom/frame_glom.cc
+++ b/glom/frame_glom.cc
@@ -62,6 +62,8 @@
 #include <glom/print_layout/print_layout_utils.h>
 
 #include <glom/filechooser_export.h>
+#include <gtkmm/stock.h>
+#include <gtkmm/radioaction.h>
 #include <libglom/privs.h>
 #include <libglom/db_utils.h>
 #include <sstream> //For stringstream.
diff --git a/glom/import_csv/dialog_import_csv.cc b/glom/import_csv/dialog_import_csv.cc
index 55df800..ee55d8b 100644
--- a/glom/import_csv/dialog_import_csv.cc
+++ b/glom/import_csv/dialog_import_csv.cc
@@ -27,6 +27,7 @@
 #include <gtkmm/messagedialog.h>
 #include <gtkmm/cellrenderercombo.h>
 #include <glom/utils_ui.h>
+#include <gtkmm/main.h>
 #include <glibmm/i18n.h>
 #include <cerrno>
 #include <iostream>
diff --git a/glom/import_csv/dialog_import_csv.h b/glom/import_csv/dialog_import_csv.h
index b56d802..53d7938 100644
--- a/glom/import_csv/dialog_import_csv.h
+++ b/glom/import_csv/dialog_import_csv.h
@@ -30,9 +30,12 @@
 #include <gtkmm/dialog.h>
 #include <gtkmm/treeview.h>
 #include <gtkmm/liststore.h>
+#include <gtkmm/checkbutton.h>
 #include <gtkmm/combobox.h>
 #include <gtkmm/spinbutton.h>
 #include <gtkmm/builder.h>
+#include <gtkmm/cellrenderercombo.h>
+#include <gtkmm/treemodelsort.h>
 //#include <libgdamm/datamodelimport.h>
 
 
diff --git a/glom/import_csv/dialog_import_csv_progress.cc b/glom/import_csv/dialog_import_csv_progress.cc
index f50a06c..339be18 100644
--- a/glom/import_csv/dialog_import_csv_progress.cc
+++ b/glom/import_csv/dialog_import_csv_progress.cc
@@ -21,6 +21,7 @@
 #include "dialog_import_csv_progress.h"
 #include <libglom/libglom_config.h>
 #include <libglom/db_utils.h>
+#include <gtkmm/main.h>
 
 #include <libglom/data_structure/glomconversions.h>
 #include <glibmm/i18n.h>
diff --git a/glom/import_csv/dialog_import_csv_progress.h b/glom/import_csv/dialog_import_csv_progress.h
index ab99ffe..127374d 100644
--- a/glom/import_csv/dialog_import_csv_progress.h
+++ b/glom/import_csv/dialog_import_csv_progress.h
@@ -24,6 +24,8 @@
 #include "base_db_table_data.h"
 
 #include "dialog_import_csv.h"
+#include <gtkmm/progressbar.h>
+#include <gtkmm/textview.h>
 
 namespace Glom
 {
diff --git a/glom/libglom/appstate.h b/glom/libglom/appstate.h
index f2416c5..7e37c00 100644
--- a/glom/libglom/appstate.h
+++ b/glom/libglom/appstate.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_APPSTATE_H
 #define GLOM_APPSTATE_H
 
-#include <glibmm.h>
+#include <sigc++/sigc++.h>
 
 namespace Glom
 {
diff --git a/glom/libglom/connectionpool.h b/glom/libglom/connectionpool.h
index 2cc2181..685409e 100644
--- a/glom/libglom/connectionpool.h
+++ b/glom/libglom/connectionpool.h
@@ -23,7 +23,7 @@
 
 #include <libglom/libglom_config.h>
 
-#include <libgdamm.h>
+#include <libgdamm/connection.h>
 #include <libglom/sharedptr.h>
 #include <libglom/data_structure/fieldtypes.h>
 #include <libglom/data_structure/field.h>
diff --git a/glom/libglom/connectionpool_backends/postgres.cc b/glom/libglom/connectionpool_backends/postgres.cc
index 4b63dae..e47541c 100644
--- a/glom/libglom/connectionpool_backends/postgres.cc
+++ b/glom/libglom/connectionpool_backends/postgres.cc
@@ -24,6 +24,7 @@
 #include <libglom/connectionpool_backends/postgres.h>
 #include <libglom/spawn_with_feedback.h>
 #include <libglom/utils.h>
+#include <libgdamm/config.h>
 #include <giomm.h>
 #include <glib/gstdio.h> /* For g_rename(). TODO: Wrap this in glibmm? */
 #include <glibmm/i18n.h>
diff --git a/glom/libglom/connectionpool_backends/postgres.h b/glom/libglom/connectionpool_backends/postgres.h
index 5432ad1..76c6efe 100644
--- a/glom/libglom/connectionpool_backends/postgres.h
+++ b/glom/libglom/connectionpool_backends/postgres.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_BACKEND_POSTGRES_H
 #define GLOM_BACKEND_POSTGRES_H
 
-#include <libgdamm.h>
+#include <libgdamm/connection.h>
 #include <libglom/connectionpool_backends/backend.h>
 
 #include <libglom/libglom_config.h>
diff --git a/glom/libglom/connectionpool_backends/sqlite.cc b/glom/libglom/connectionpool_backends/sqlite.cc
index 04dc6a3..12e8470 100644
--- a/glom/libglom/connectionpool_backends/sqlite.cc
+++ b/glom/libglom/connectionpool_backends/sqlite.cc
@@ -22,6 +22,7 @@
 #include <libglom/connectionpool_backends/sqlite.h>
 #include <libglom/utils.h>
 #include <giomm/file.h>
+#include <libgdamm/metastore.h>
 
 #include <iostream>
 
diff --git a/glom/libglom/connectionpool_backends/sqlite.h b/glom/libglom/connectionpool_backends/sqlite.h
index b5a322c..3917874 100644
--- a/glom/libglom/connectionpool_backends/sqlite.h
+++ b/glom/libglom/connectionpool_backends/sqlite.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_BACKEND_SQLITE_H
 #define GLOM_BACKEND_SQLITE_H
 
-#include <libgdamm.h>
+#include <libgdamm/connection.h>
 #include <libglom/connectionpool_backends/backend.h>
 
 #include <libglom/libglom_config.h>
diff --git a/glom/libglom/data_structure/field.h b/glom/libglom/data_structure/field.h
index 4878464..3974400 100644
--- a/glom/libglom/data_structure/field.h
+++ b/glom/libglom/data_structure/field.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_DATASTRUCTURE_FIELD_H
 #define GLOM_DATASTRUCTURE_FIELD_H
 
-#include <libgdamm.h>
+#include <libgdamm/column.h>
+#include <libgdamm/holder.h>
+#include <libgdamm/connection.h>
 #include <libglom/data_structure/translatable_item.h>
 #include <libglom/data_structure/layout/fieldformatting.h>
 #include <libglom/sharedptr.h>
diff --git a/glom/libglom/data_structure/fieldtypes.h b/glom/libglom/data_structure/fieldtypes.h
index 0eb1fb2..6956737 100644
--- a/glom/libglom/data_structure/fieldtypes.h
+++ b/glom/libglom/data_structure/fieldtypes.h
@@ -22,7 +22,7 @@
 #ifndef GLOM_DATASTRUCTURE_FIELDTYPES_H
 #define GLOM_DATASTRUCTURE_FIELDTYPES_H
 
-#include <libgdamm.h>
+#include <libgdamm/connection.h>
 
 namespace Glom
 {
diff --git a/glom/libglom/data_structure/layout/fieldformatting.h b/glom/libglom/data_structure/layout/fieldformatting.h
index 7bae2fd..232d174 100644
--- a/glom/libglom/data_structure/layout/fieldformatting.h
+++ b/glom/libglom/data_structure/layout/fieldformatting.h
@@ -25,7 +25,7 @@
 #include <libglom/data_structure/numeric_format.h>
 #include <libglom/data_structure/relationship.h>
 #include <libglom/sharedptr.h>
-#include <libgdamm.h>
+#include <libgdamm/value.h>
 
 namespace Glom
 {
diff --git a/glom/libglom/db_utils.cc b/glom/libglom/db_utils.cc
index 3072165..249b163 100644
--- a/glom/libglom/db_utils.cc
+++ b/glom/libglom/db_utils.cc
@@ -27,6 +27,7 @@
 #include <libglom/data_structure/parameternamegenerator.h>
 #include <libglom/utils.h>
 #include <libgdamm/value.h>
+#include <libgdamm/metastore.h>
 #include <libgda/libgda.h> // For gda_g_type_from_string
 #include <glibmm/i18n.h>
 
diff --git a/glom/libglom/document/bakery/document.h b/glom/libglom/document/bakery/document.h
index ca82b7c..bbd0eb2 100644
--- a/glom/libglom/document/bakery/document.h
+++ b/glom/libglom/document/bakery/document.h
@@ -19,8 +19,9 @@
 #ifndef GLOM_BAKERY_DOCUMENT_H
 #define GLOM_BAKERY_DOCUMENT_H
 
-#include <glibmm.h>
 #include <libglom/document/bakery/view/viewbase.h>
+#include <glibmm/ustring.h>
+#include <sigc++/sigc++.h>
 
 namespace GlomBakery
 {
diff --git a/glom/libglom/glom_postgres.h b/glom/libglom/glom_postgres.h
index 64609d6..15b7ecd 100644
--- a/glom/libglom/glom_postgres.h
+++ b/glom/libglom/glom_postgres.h
@@ -21,8 +21,6 @@
 #ifndef DB_POSTGRES_H
 #define DB_POSTGRES_H
 
-//#include <gtkmm.h>
-
 //#include <glom/base_db.h>
 #include <libglom/document/document.h>
 #include <libglom/connectionpool.h>
diff --git a/glom/libglom/init.cc b/glom/libglom/init.cc
index 5d13475..e5061f3 100644
--- a/glom/libglom/init.cc
+++ b/glom/libglom/init.cc
@@ -25,7 +25,8 @@
 
 #include <glom/libglom/connectionpool.h>
 #include <giomm.h>
-#include <libgdamm.h>
+#include <libgdamm/connection.h>
+#include <libgdamm/init.h>
 #include <iostream>
 
 #include <pygobject.h>
diff --git a/glom/libglom/privs.h b/glom/libglom/privs.h
index afc1d01..d84c185 100644
--- a/glom/libglom/privs.h
+++ b/glom/libglom/privs.h
@@ -21,8 +21,6 @@
 #ifndef GLOM_PRIVS_H
 #define GLOM_PRIVS_H
 
-//#include <gtkmm.h>
-
 #include <libglom/glom_postgres.h>
 
 namespace Glom
diff --git a/glom/mode_data/box_data.cc b/glom/mode_data/box_data.cc
index a053898..bee7bb4 100644
--- a/glom/mode_data/box_data.cc
+++ b/glom/mode_data/box_data.cc
@@ -28,6 +28,7 @@
 #include <glom/python_embed/glom_python.h>
 #include <glom/python_embed/python_ui_callbacks.h>
 #include <glom/application.h>
+#include <gtkmm/stock.h>
 #include <algorithm> //For std::find()
 #include <libglom/libglom_config.h>
 #include <iostream>
diff --git a/glom/mode_data/box_data_calendar_related.cc b/glom/mode_data/box_data_calendar_related.cc
index eb67d6e..8d7cc30 100644
--- a/glom/mode_data/box_data_calendar_related.cc
+++ b/glom/mode_data/box_data_calendar_related.cc
@@ -25,6 +25,7 @@
 #include <libglom/data_structure/glomconversions.h>
 #include <libglom/db_utils.h>
 #include <glom/frame_glom.h> //For show_ok_dialog()
+#include <gtkmm/stock.h>
 #include <glom/glade_utils.h>
 #include <glibmm/i18n.h>
 
diff --git a/glom/mode_data/box_data_details.cc b/glom/mode_data/box_data_details.cc
index ec2323a..0b509be 100644
--- a/glom/mode_data/box_data_details.cc
+++ b/glom/mode_data/box_data_details.cc
@@ -32,6 +32,8 @@
 #include <glom/python_embed/glom_python.h>
 #include <glom/print_layout/print_layout_utils.h>
 #include <glom/application.h>
+#include <gtkmm/stock.h>
+#include <gtkmm/viewport.h>
 #include <sstream> //For stringstream
 #include <glibmm/i18n.h>
 
diff --git a/glom/mode_data/box_data_portal.h b/glom/mode_data/box_data_portal.h
index a6fe47b..188093b 100644
--- a/glom/mode_data/box_data_portal.h
+++ b/glom/mode_data/box_data_portal.h
@@ -25,6 +25,9 @@
 
 #include "box_data_manyrecords.h"
 #include <glom/utility_widgets/layoutwidgetbase.h>
+#include <gtkmm/alignment.h>
+#include <gtkmm/frame.h>
+#include <gtkmm/label.h>
 
 
 namespace Glom
diff --git a/glom/mode_data/buttonglom.h b/glom/mode_data/buttonglom.h
index f37a3c8..ae3403f 100644
--- a/glom/mode_data/buttonglom.h
+++ b/glom/mode_data/buttonglom.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_UTILITY_WIDGETS_BUTTON_GLOM_H
 #define GLOM_UTILITY_WIDGETS_BUTTON_GLOM_H
 
-#include <gtkmm.h>
+#include <gtkmm/button.h>
 #include <glom/utility_widgets/layoutwidgetutils.h>
 #include <libglom/data_structure/layout/layoutitem_button.h>
 #include <gtkmm/builder.h>
diff --git a/glom/mode_data/datawidget/cellrenderer_dblist.h b/glom/mode_data/datawidget/cellrenderer_dblist.h
index 88b7e42..715e18e 100644
--- a/glom/mode_data/datawidget/cellrenderer_dblist.h
+++ b/glom/mode_data/datawidget/cellrenderer_dblist.h
@@ -22,8 +22,7 @@
 #define GLOM_UTILITY_WIDGETS_DBADDDELL_CELLRENDERDBERLIST_H
 
 #include <glom/mode_data/datawidget/combochoiceswithtreemodel.h>
-#include <gtkmm.h>
-//#include <gtkmm/cellrenderercombo.h>
+#include <gtkmm/cellrenderercombo.h>
 //#include <gtkmm/liststore.h>
 
 
diff --git a/glom/mode_data/datawidget/checkbutton.h b/glom/mode_data/datawidget/checkbutton.h
index cd36ca7..b1cc0b9 100644
--- a/glom/mode_data/datawidget/checkbutton.h
+++ b/glom/mode_data/datawidget/checkbutton.h
@@ -23,7 +23,7 @@
 
 #include "config.h" // For GLOM_ENABLE_CLIENT_ONLY
 
-#include <gtkmm.h>
+#include <gtkmm/checkbutton.h>
 #include <libglom/data_structure/field.h>
 #include <glom/utility_widgets/layoutwidgetfield.h>
 #include <gtkmm/builder.h>
diff --git a/glom/mode_data/datawidget/combo.cc b/glom/mode_data/datawidget/combo.cc
index f5028d1..5344c67 100644
--- a/glom/mode_data/datawidget/combo.cc
+++ b/glom/mode_data/datawidget/combo.cc
@@ -28,6 +28,7 @@
 #include <libglom/db_utils.h>
 #include <glom/application.h>
 #include <glom/utils_ui.h>
+#include <gtkmm/cellareabox.h>
 #include <glibmm/i18n.h>
 //#include <sstream> //For stringstream
 
diff --git a/glom/mode_data/datawidget/combo.h b/glom/mode_data/datawidget/combo.h
index 8f25991..0b0bfba 100644
--- a/glom/mode_data/datawidget/combo.h
+++ b/glom/mode_data/datawidget/combo.h
@@ -24,6 +24,7 @@
 #include "config.h" // For GLOM_ENABLE_CLIENT_ONLY
 
 #include <glom/mode_data/datawidget/combochoiceswithtreemodel.h>
+#include <gtkmm/combobox.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/datawidget/combo_as_radio_buttons.h b/glom/mode_data/datawidget/combo_as_radio_buttons.h
index 76a85ba..2ef9ad5 100644
--- a/glom/mode_data/datawidget/combo_as_radio_buttons.h
+++ b/glom/mode_data/datawidget/combo_as_radio_buttons.h
@@ -24,6 +24,8 @@
 #include "config.h" // For GLOM_ENABLE_CLIENT_ONLY
 
 #include <glom/mode_data/datawidget/combochoices.h>
+#include <gtkmm/box.h>
+#include <gtkmm/radiobutton.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/datawidget/combochoices.h b/glom/mode_data/datawidget/combochoices.h
index 948283b..118bf17 100644
--- a/glom/mode_data/datawidget/combochoices.h
+++ b/glom/mode_data/datawidget/combochoices.h
@@ -21,7 +21,6 @@
 #ifndef GLOM_UTILITY_WIDGETS_COMBO_CHOICES_H
 #define GLOM_UTILITY_WIDGETS_COMBO_CHOICES_H
 
-#include <gtkmm.h>
 #include <libglom/data_structure/field.h>
 #include <glom/utility_widgets/layoutwidgetfield.h>
 
diff --git a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
index 445b7aa..09d0766 100644
--- a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
+++ b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
@@ -22,6 +22,7 @@
 #include <glom/mode_data/datawidget/treemodel_db_withextratext.h>
 #include <libglom/data_structure/glomconversions.h>
 #include <glom/utils_ui.h>
+#include <gtkmm/liststore.h>
 #include <glibmm/i18n.h>
 //#include <sstream> //For stringstream
 
diff --git a/glom/mode_data/datawidget/combochoiceswithtreemodel.h b/glom/mode_data/datawidget/combochoiceswithtreemodel.h
index 65f3be0..23ed351 100644
--- a/glom/mode_data/datawidget/combochoiceswithtreemodel.h
+++ b/glom/mode_data/datawidget/combochoiceswithtreemodel.h
@@ -22,6 +22,8 @@
 #define GLOM_MODE_DATA_COMBO_CHOICES_WITH_TREE_MODEL_H
 
 #include <glom/mode_data/datawidget/combochoices.h>
+#include <gtkmm/celllayout.h>
+#include <gtkmm/treemodel.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/datawidget/datawidget.cc b/glom/mode_data/datawidget/datawidget.cc
index f3b2864..61c56b7 100644
--- a/glom/mode_data/datawidget/datawidget.cc
+++ b/glom/mode_data/datawidget/datawidget.cc
@@ -35,6 +35,7 @@
 #include <glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.h>
 #include <glom/utils_ui.h>
 #include <glom/glade_utils.h>
+#include <gtkmm/stock.h>
 #include <libglom/db_utils.h>
 
 #include <glibmm/i18n.h>
diff --git a/glom/mode_data/datawidget/datawidget.h b/glom/mode_data/datawidget/datawidget.h
index 2588213..16e9000 100644
--- a/glom/mode_data/datawidget/datawidget.h
+++ b/glom/mode_data/datawidget/datawidget.h
@@ -30,6 +30,8 @@
 #include <libglom/document/view.h>
 #include <libglom/data_structure/layout/layoutitem_field.h>
 #include <glom/mode_design/layout/treestore_layout.h> //Forthe enum.
+#include <gtkmm/eventbox.h>
+#include <gtkmm/button.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/datawidget/dialog_choose_date.h b/glom/mode_data/datawidget/dialog_choose_date.h
index d230bb1..e6c6eb1 100644
--- a/glom/mode_data/datawidget/dialog_choose_date.h
+++ b/glom/mode_data/datawidget/dialog_choose_date.h
@@ -26,6 +26,7 @@
 #include <glom/base_db.h>
 //#include <glom/mode_find/box_data_details_find.h>
 #include <glom/mode_data/box_data_list.h>
+#include <gtkmm/calendar.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/datawidget/entry.h b/glom/mode_data/datawidget/entry.h
index 83b8cdb..b09b37c 100644
--- a/glom/mode_data/datawidget/entry.h
+++ b/glom/mode_data/datawidget/entry.h
@@ -23,7 +23,7 @@
 
 #include "config.h" // For GLOM_ENABLE_CLIENT_ONLY
 
-#include <gtkmm.h>
+#include <gtkmm/entry.h>
 #include <libglom/data_structure/field.h>
 #include <glom/utility_widgets/layoutwidgetfield.h>
 #include <gtkmm/builder.h>
diff --git a/glom/mode_data/datawidget/label.h b/glom/mode_data/datawidget/label.h
index 2e4be89..8b63fe3 100644
--- a/glom/mode_data/datawidget/label.h
+++ b/glom/mode_data/datawidget/label.h
@@ -21,7 +21,8 @@
 #ifndef GLOM_UTILITY_WIDGETS_LABEL_GLOM_H
 #define GLOM_UTILITY_WIDGETS_LABEL_GLOM_H
 
-#include <gtkmm.h>
+#include <gtkmm/eventbox.h>
+#include <gtkmm/label.h>
 #include <glom/utility_widgets/layoutwidgetbase.h>
 #include <glom/utility_widgets/layoutwidgetutils.h>
 #include <libglom/data_structure/layout/layoutitem_button.h>
diff --git a/glom/mode_data/datawidget/textview.h b/glom/mode_data/datawidget/textview.h
index 62e12a4..f6caa3c 100644
--- a/glom/mode_data/datawidget/textview.h
+++ b/glom/mode_data/datawidget/textview.h
@@ -23,9 +23,10 @@
 
 #include "config.h" // For GLOM_ENABLE_CLIENT_ONLY
 
-#include <gtkmm.h>
+#include <gtkmm/textview.h>
 #include <libglom/data_structure/field.h>
 #include <glom/utility_widgets/layoutwidgetfield.h>
+#include <gtkmm/scrolledwindow.h>
 #include <gtkmm/builder.h>
 
 namespace Glom
diff --git a/glom/mode_data/datawidget/treemodel_db.cc b/glom/mode_data/datawidget/treemodel_db.cc
index 901f697..4369391 100644
--- a/glom/mode_data/datawidget/treemodel_db.cc
+++ b/glom/mode_data/datawidget/treemodel_db.cc
@@ -25,8 +25,11 @@
 #include <libglom/data_structure/glomconversions.h> //For util_build_sql
 #include <libglom/utils.h>
 #include <libglom/db_utils.h>
+#include <libgdamm/datamodel.h>
+#include <libgdamm/dataaccesswrapper.h>
+#include <libgdamm/datamodelarray.h>
 
-#include "glom/application.h"
+#include <glom/application.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/datawidget/treemodel_db.h b/glom/mode_data/datawidget/treemodel_db.h
index 5f71159..3df46a8 100644
--- a/glom/mode_data/datawidget/treemodel_db.h
+++ b/glom/mode_data/datawidget/treemodel_db.h
@@ -21,9 +21,8 @@
 #ifndef GLOM_UTILITY_WIDGETS_DB_TREEMODEL_H
 #define GLOM_UTILITY_WIDGETS_DB_TREEMODEL_H
 
-#include <gtkmm.h>
-//#include <gtkmm/treemodel.h>
-//#include <gtkmm/treepath.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treepath.h>
 #include <libglom/data_structure/layout/layoutitem_field.h>
 #include <libglom/connectionpool.h>
 #include <glom/base_db.h>
diff --git a/glom/mode_data/db_adddel/db_adddel.cc b/glom/mode_data/db_adddel/db_adddel.cc
index b7d4886..649881b 100644
--- a/glom/mode_data/db_adddel/db_adddel.cc
+++ b/glom/mode_data/db_adddel/db_adddel.cc
@@ -31,6 +31,7 @@
 #include <glom/application.h>
 #include <glom/utils_ui.h> //For Utils::image_scale_keeping_ratio().
 #include <glom/mode_data/datawidget/cellcreation.h>
+#include <gtkmm/stock.h>
 #include <libglom/db_utils.h>
 
 #include <iostream> //For debug output.
diff --git a/glom/mode_data/db_adddel/db_adddel.h b/glom/mode_data/db_adddel/db_adddel.h
index 541069f..8526181 100644
--- a/glom/mode_data/db_adddel/db_adddel.h
+++ b/glom/mode_data/db_adddel/db_adddel.h
@@ -21,9 +21,12 @@
 #ifndef GLOM_DB_ADDDEL_H
 #define GLOM_DB_ADDDEL_H
 
-#include <gtkmm.h>
+#include <gtkmm/box.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/uimanager.h>
 #include <libglom/data_structure/layout/layoutitem_field.h>
-#include <libgdamm.h>
 #include <glom/mode_data/datawidget/treemodel_db.h>
 #include <libglom/document/document.h>
 #include <glom/base_db_table_data.h>
diff --git a/glom/mode_data/db_adddel/db_adddel_withbuttons.cc b/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
index b142209..164d2fd 100644
--- a/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
+++ b/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
@@ -20,6 +20,8 @@
 
 #include "db_adddel_withbuttons.h"
 #include <glom/utils_ui.h>
+#include <gtkmm/buttonbox.h>
+#include <gtkmm/stock.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/db_adddel/db_adddel_withbuttons.h b/glom/mode_data/db_adddel/db_adddel_withbuttons.h
index 6cef681..0858668 100644
--- a/glom/mode_data/db_adddel/db_adddel_withbuttons.h
+++ b/glom/mode_data/db_adddel/db_adddel_withbuttons.h
@@ -22,6 +22,7 @@
 #define GLOM_DB_ADDDEL_WITHBUTTONS_H
 
 #include "db_adddel.h"
+#include <gtkmm/buttonbox.h>
 
 namespace Glom
 {
diff --git a/glom/mode_data/flowtablewithfields.h b/glom/mode_data/flowtablewithfields.h
index b32d1b2..7a1241c 100644
--- a/glom/mode_data/flowtablewithfields.h
+++ b/glom/mode_data/flowtablewithfields.h
@@ -40,6 +40,11 @@
 #include <glom/mode_data/datawidget/combochoices.h>
 #include "box_data_calendar_related.h"
 #include <glom/mode_design/layout/treestore_layout.h> //Forthe enum.
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/alignment.h>
+#include <gtkmm/sizegroup.h>
+#include <gtkmm/eventbox.h>
+#include <gtkmm/box.h>
 #include <map>
 #include <list>
 
diff --git a/glom/mode_data/placeholder-glom.cc b/glom/mode_data/placeholder-glom.cc
index 609605f..bd04ed4 100644
--- a/glom/mode_data/placeholder-glom.cc
+++ b/glom/mode_data/placeholder-glom.cc
@@ -25,6 +25,7 @@
 #include "placeholder-glom.h"
 #include <gtkmm/messagedialog.h>
 #include <glom/application.h>
+#include <gdkmm.h>
 #include <glibmm/i18n.h>
 #include <string.h> // for memset
 
diff --git a/glom/mode_data/placeholder-glom.h b/glom/mode_data/placeholder-glom.h
index e70a60a..9b3a2b1 100644
--- a/glom/mode_data/placeholder-glom.h
+++ b/glom/mode_data/placeholder-glom.h
@@ -25,7 +25,7 @@
 #ifndef GLOM_MODE_DATA_PLACEHOLDER_GLOM_H
 #define GLOM_MODE_DATA_PLACEHOLDER_GLOM_H
 
-#include <gtkmm.h>
+#include <gtkmm/widget.h>
 #include <glom/utility_widgets/layoutwidgetbase.h>
 //#include <libglom/data_structure/layout/layoutitem_button.h>
 //#include <gtkmm/builder.h>
diff --git a/glom/mode_design/dialog_database_preferences.h b/glom/mode_design/dialog_database_preferences.h
index 95b3b2a..ef22102 100644
--- a/glom/mode_design/dialog_database_preferences.h
+++ b/glom/mode_design/dialog_database_preferences.h
@@ -26,6 +26,8 @@
 #include <glom/variablesmap.h>
 #include <gtkmm/entry.h>
 #include <gtkmm/label.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/liststore.h>
 #include <gtksourceviewmm/view.h>
 #include <glom/base_db.h>
 #include <libglom/data_structure/system_prefs.h>
diff --git a/glom/mode_design/dialog_design.h b/glom/mode_design/dialog_design.h
index 328a74a..0e38193 100644
--- a/glom/mode_design/dialog_design.h
+++ b/glom/mode_design/dialog_design.h
@@ -21,7 +21,8 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_DESIGN_H
 #define GLOM_MODE_DESIGN_DIALOG_DESIGN_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/label.h>
 #include <gtkmm/builder.h>
 #include <libglom/document/view.h>
 
diff --git a/glom/mode_design/fields/box_db_table_definition.cc b/glom/mode_design/fields/box_db_table_definition.cc
index bc33ae8..b770832 100644
--- a/glom/mode_design/fields/box_db_table_definition.cc
+++ b/glom/mode_design/fields/box_db_table_definition.cc
@@ -24,6 +24,7 @@
 #include <glom/utils_ui.h> //For bold_message()).
 #include <libglom/libglom_config.h>
 #include <libglom/db_utils.h>
+#include <gtkmm/stock.h>
 #include <glibmm/i18n.h>
 
 namespace Glom
diff --git a/glom/mode_design/fields/combo_fieldtype.h b/glom/mode_design/fields/combo_fieldtype.h
index 6695ff4..d95d0dc 100644
--- a/glom/mode_design/fields/combo_fieldtype.h
+++ b/glom/mode_design/fields/combo_fieldtype.h
@@ -24,7 +24,6 @@
 #include <libglom/data_structure/field.h>
 #include <gtkmm/combobox.h>
 #include <gtkmm/liststore.h>
-#include <libgdamm.h>
 #include <gtkmm/builder.h>
 
 namespace Glom
diff --git a/glom/mode_design/fields/dialog_fieldcalculation.h b/glom/mode_design/fields/dialog_fieldcalculation.h
index dbb55f9..47dc91c 100644
--- a/glom/mode_design/fields/dialog_fieldcalculation.h
+++ b/glom/mode_design/fields/dialog_fieldcalculation.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_FIELDCALCULATION_H
 #define GLOM_MODE_DESIGN_DIALOG_FIELDCALCULATION_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/button.h>
+#include <gtkmm/label.h>
 #include <gtkmm/builder.h>
 #include <libglom/data_structure/field.h>
 #include <glom/base_db.h>
diff --git a/glom/mode_design/fields/dialog_fielddefinition.h b/glom/mode_design/fields/dialog_fielddefinition.h
index 97f698e..9aee1c7 100644
--- a/glom/mode_design/fields/dialog_fielddefinition.h
+++ b/glom/mode_design/fields/dialog_fielddefinition.h
@@ -21,7 +21,10 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_FIELDDEFINITION_H
 #define GLOM_MODE_DESIGN_DIALOG_FIELDDEFINITION_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/alignment.h>
+#include <gtkmm/entry.h>
 #include "../../utility_widgets/combo_textglade.h"
 #include <glom/mode_design/layout/combobox_relationship.h>
 #include "combo_fieldtype.h"
diff --git a/glom/mode_design/layout/dialog_choose_field.h b/glom/mode_design/layout/dialog_choose_field.h
index 6e6a63d..8bcbeb8 100644
--- a/glom/mode_design/layout/dialog_choose_field.h
+++ b/glom/mode_design/layout/dialog_choose_field.h
@@ -21,7 +21,8 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_CHOOSE_FIELD_H
 #define GLOM_MODE_DESIGN_DIALOG_CHOOSE_FIELD_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/checkbutton.h>
 #include <glom/utility_widgets/dialog_properties.h>
 #include <libglom/document/document.h>
 #include <glom/box_withbuttons.h>
diff --git a/glom/mode_design/layout/dialog_layout.h b/glom/mode_design/layout/dialog_layout.h
index 2e5bcd9..428ec7f 100644
--- a/glom/mode_design/layout/dialog_layout.h
+++ b/glom/mode_design/layout/dialog_layout.h
@@ -25,6 +25,7 @@
 #include <glom/utility_widgets/dialog_properties.h>
 #include <libglom/document/document.h>
 #include <glom/box_withbuttons.h>
+#include <gtkmm/togglebutton.h>
 
 namespace Glom
 {
diff --git a/glom/mode_design/layout/dialog_layout_calendar_related.h b/glom/mode_design/layout/dialog_layout_calendar_related.h
index 1bce2c7..0c63375 100644
--- a/glom/mode_design/layout/dialog_layout_calendar_related.h
+++ b/glom/mode_design/layout/dialog_layout_calendar_related.h
@@ -26,6 +26,8 @@
 #include <glom/utility_widgets/combo_textglade.h>
 #include <glom/mode_design/layout/combobox_relationship.h>
 #include <glom/mode_design/layout/combobox_fields.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/radiobutton.h>
 
 namespace Glom
 {
diff --git a/glom/mode_design/layout/dialog_layout_details.h b/glom/mode_design/layout/dialog_layout_details.h
index 001e559..e3b36bb 100644
--- a/glom/mode_design/layout/dialog_layout_details.h
+++ b/glom/mode_design/layout/dialog_layout_details.h
@@ -23,6 +23,8 @@
 
 #include <glom/mode_design/layout/dialog_layout.h>
 #include <glom/mode_design/layout/treestore_layout.h>
+#include <gtkmm/frame.h>
+#include <gtkmm/spinbutton.h>
 
 namespace Glom
 {
diff --git a/glom/mode_design/layout/dialog_layout_list_related.h b/glom/mode_design/layout/dialog_layout_list_related.h
index 03cf4a1..edacb69 100644
--- a/glom/mode_design/layout/dialog_layout_list_related.h
+++ b/glom/mode_design/layout/dialog_layout_list_related.h
@@ -24,6 +24,9 @@
 #include <glom/mode_design/layout/dialog_layout_list.h>
 #include <glom/utility_widgets/combo_textglade.h>
 #include <glom/mode_design/layout/combobox_relationship.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/colorbutton.h>
 
 namespace Glom
 {
diff --git a/glom/mode_design/layout/layout_item_dialogs/box_formatting.h b/glom/mode_design/layout/layout_item_dialogs/box_formatting.h
index 5e16027..912d8f9 100644
--- a/glom/mode_design/layout/layout_item_dialogs/box_formatting.h
+++ b/glom/mode_design/layout/layout_item_dialogs/box_formatting.h
@@ -21,7 +21,12 @@
 #ifndef GLOM_MODE_DESIGN_BOX_FORMATTING_H
 #define GLOM_MODE_DESIGN_BOX_FORMATTING_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/colorbutton.h>
+#include <gtkmm/fontbutton.h>
 #include <glom/utility_widgets/dialog_properties.h>
 #include <libglom/document/document.h>
 #include <glom/box_withbuttons.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h
index 94bd2ca..f06b2c6 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h
@@ -21,7 +21,8 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_BUTTONSCRIPT_H
 #define GLOM_MODE_DESIGN_DIALOG_BUTTONSCRIPT_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/entry.h>
 #include <gtkmm/builder.h>
 #include <libglom/data_structure/layout/layoutitem_button.h>
 #include <glom/base_db.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.h b/glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.h
index 6be157f..ca72ea7 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_field_layout.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_FIELD_LAYOUT_H
 #define GLOM_MODE_DESIGN_DIALOG_FIELD_LAYOUT_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/label.h>
+#include <gtkmm/entry.h>
 #include <glom/utility_widgets/dialog_properties.h>
 #include <libglom/document/view.h>
 #include <glom/box_withbuttons.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h b/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h
index b6aa2fe..97d5af1 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_LAYOUT_ITEM_DIALOGS_FIELD_SUMMARY_H
 #define GLOM_LAYOUT_ITEM_DIALOGS_FIELD_SUMMARY_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/button.h>
+#include <gtkmm/label.h>
 #include <glom/utility_widgets/dialog_properties.h>
 #include <libglom/document/document.h>
 #include <libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.cc b/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.cc
index 4227e81..bcef230 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.cc
@@ -21,6 +21,7 @@
 #include "dialog_formatting.h"
 #include <libglom/data_structure/glomconversions.h>
 #include <glom/glade_utils.h>
+#include <gtkmm/stock.h>
 #include <glibmm/i18n.h>
 
 namespace Glom
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.h b/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.h
index aee9194..614dc23 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_formatting.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_FORMATTING_H
 #define GLOM_MODE_DESIGN_DIALOG_FORMATTING_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
 #include <glom/utility_widgets/dialog_properties.h>
 #include <libglom/document/view.h>
 #include <glom/box_withbuttons.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.h b/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.h
index 9d2d041..3b8a093 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_LAYOUT_ITEM_DIALOGS_GROUP_BY_H
 #define GLOM_LAYOUT_ITEM_DIALOGS_GROUP_BY_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/label.h>
+#include <gtkmm/button.h>
 #include <glom/utility_widgets/dialog_properties.h>
 #include <libglom/document/document.h>
 #include <glom/box_withbuttons.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h b/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h
index ae1fcae..a23127e 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_IMAGEOBJECT_H
 #define GLOM_MODE_DESIGN_DIALOG_IMAGEOBJECT_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/label.h>
 #include <gtkmm/builder.h>
 #include <libglom/data_structure/layout/layoutitem_image.h>
 #include <glom/base_db.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_line.h b/glom/mode_design/layout/layout_item_dialogs/dialog_line.h
index 918aaee..ca80664 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_line.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_line.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_LINE_H
 #define GLOM_MODE_DESIGN_DIALOG_LINE_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/colorbutton.h>
 #include <gtkmm/builder.h>
 #include <libglom/data_structure/layout/layoutitem_line.h>
 #include <glom/base_db.h>
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h b/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h
index 5705a8b..d3304f6 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_TEXTOBJECT_H
 #define GLOM_MODE_DESIGN_DIALOG_TEXTOBJECT_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/textview.h>
 #include <gtkmm/builder.h>
 #include <libglom/data_structure/layout/layoutitem_text.h>
 #include <glom/base_db.h>
diff --git a/glom/mode_design/print_layouts/box_print_layouts.cc b/glom/mode_design/print_layouts/box_print_layouts.cc
index 45a1877..7c7b3bb 100644
--- a/glom/mode_design/print_layouts/box_print_layouts.cc
+++ b/glom/mode_design/print_layouts/box_print_layouts.cc
@@ -19,6 +19,9 @@
  */
 
 #include "box_print_layouts.h"
+#include <gtkmm/alignment.h>
+#include <gtkmm/messagedialog.h>
+#include <gtkmm/stock.h>
 #include <libglom/utils.h> //For bold_message()).
 #include <glibmm/i18n.h>
 
diff --git a/glom/mode_design/print_layouts/dialog_text_formatting.h b/glom/mode_design/print_layouts/dialog_text_formatting.h
index bb408ce..7daf6d2 100644
--- a/glom/mode_design/print_layouts/dialog_text_formatting.h
+++ b/glom/mode_design/print_layouts/dialog_text_formatting.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_DIALOG_TEXT_FORMATTING_H
 #define GLOM_DIALOG_TEXT_FORMATTING_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
 #include <gtkmm/builder.h>
 #include <libglom/document/document.h>
 #include <glom/mode_design/layout/layout_item_dialogs/box_formatting.h>
diff --git a/glom/mode_design/print_layouts/window_print_layout_edit.cc b/glom/mode_design/print_layouts/window_print_layout_edit.cc
index 391bd82..af4766f 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -27,7 +27,7 @@
 #include <libglom/data_structure/layout/layoutitem_line.h>
 #include <libglom/data_structure/layout/layoutitem_portal.h>
 #include <libglom/utils.h> //For bold_message()).
-#include <gtkmm/scrolledwindow.h>
+#include <gtkmm.h>
 #include <glibmm/i18n.h>
 
 #include <iostream>
diff --git a/glom/mode_design/print_layouts/window_print_layout_edit.h b/glom/mode_design/print_layouts/window_print_layout_edit.h
index 84fc285..2970ed1 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.h
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.h
@@ -32,6 +32,8 @@
 #include <gtkmm/label.h>
 #include <gtkmm/uimanager.h>
 #include <glom/utility_widgets/gimpruler/gimpruler.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/spinbutton.h>
 #include <gtkmm/builder.h>
 
 namespace Glom
diff --git a/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h b/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h
index 33464a9..6bc51ff 100644
--- a/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h
+++ b/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h
@@ -17,7 +17,7 @@
 #ifndef GLOM_RELATIONSHIPS_OVERVIEW_PRINT_OPERATION_H
 #define GLOM_RELATIONSHIPS_OVERVIEW_PRINT_OPERATION_H
 
-#include <gtkmm.h>
+#include <gtkmm/printoperation.h>
 #include <goocanvasmm/canvas.h>
 #include <vector>
 
diff --git a/glom/mode_design/report_layout/dialog_layout_report.h b/glom/mode_design/report_layout/dialog_layout_report.h
index 207638c..664da97 100644
--- a/glom/mode_design/report_layout/dialog_layout_report.h
+++ b/glom/mode_design/report_layout/dialog_layout_report.h
@@ -23,6 +23,10 @@
 
 #include <glom/mode_design/layout/dialog_layout.h>
 #include <libglom/data_structure/report.h>
+#include <gtkmm/notebook.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/label.h>
+#include <gtkmm/entry.h>
 #include "treestore_report_layout.h"
 //#include <libglom/data_structure/layout/layoutitem.h>
 //#include <libglom/sharedptr.h>
diff --git a/glom/mode_design/script_library/dialog_script_library.cc b/glom/mode_design/script_library/dialog_script_library.cc
index 0afe584..3958216 100644
--- a/glom/mode_design/script_library/dialog_script_library.cc
+++ b/glom/mode_design/script_library/dialog_script_library.cc
@@ -27,6 +27,7 @@
 #include <glom/mode_design/script_library/dialog_new_script.h>
 #include <gtksourceviewmm/languagemanager.h>
 #include <glom/application.h>
+#include <gtkmm/stock.h>
 
 
 //#include <libgnome/gnome-i18n.h>
diff --git a/glom/mode_design/script_library/dialog_script_library.h b/glom/mode_design/script_library/dialog_script_library.h
index 9b05283..e9344ee 100644
--- a/glom/mode_design/script_library/dialog_script_library.h
+++ b/glom/mode_design/script_library/dialog_script_library.h
@@ -21,7 +21,7 @@
 #ifndef DIALOG_SCRIPTLIBRARY_H
 #define DIALOG_SCRIPTLIBRARY_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
 #include <gtkmm/builder.h>
 #include <libglom/data_structure/layout/layoutitem_button.h>
 #include <glom/base_db.h>
diff --git a/glom/mode_design/translation/window_translations.cc b/glom/mode_design/translation/window_translations.cc
index e676dc6..1c3ab47 100644
--- a/glom/mode_design/translation/window_translations.cc
+++ b/glom/mode_design/translation/window_translations.cc
@@ -25,6 +25,9 @@
 #include <glom/utils_ui.h> //For bold_message()).
 #include <libglom/utils.h>
 #include <glom/glade_utils.h>
+#include <gtkmm/filefilter.h>
+#include <gtkmm/stock.h>
+#include <gtkmm/filechooserdialog.h>
 
 #include <glibmm/i18n.h>
 #include <string.h> // for memset
diff --git a/glom/mode_design/translation/window_translations.h b/glom/mode_design/translation/window_translations.h
index 29b031c..ccf6994 100644
--- a/glom/mode_design/translation/window_translations.h
+++ b/glom/mode_design/translation/window_translations.h
@@ -22,7 +22,10 @@
 #define GLOM_TRANSLATIONS_DIALOG_TRANSLATIONS_H
 
 #include <libglom/document/view.h>
-#include <gtkmm.h>
+#include <gtkmm/window.h>
+#include <gtkmm/label.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/liststore.h>
 #include <gtkmm/builder.h>
 
 #include <gettext-po.h>
diff --git a/glom/mode_design/users/dialog_groups_list.h b/glom/mode_design/users/dialog_groups_list.h
index 75c2b15..6559305 100644
--- a/glom/mode_design/users/dialog_groups_list.h
+++ b/glom/mode_design/users/dialog_groups_list.h
@@ -21,8 +21,10 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_GROUPS_LIST_H
 #define GLOM_MODE_DESIGN_DIALOG_GROUPS_LIST_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/treeview.h>
 #include <gtkmm/builder.h>
+#include <gtkmm/liststore.h>
 #include <glom/base_db.h>
 
 namespace Glom
diff --git a/glom/mode_design/users/dialog_user.h b/glom/mode_design/users/dialog_user.h
index fc98e6d..ed518eb 100644
--- a/glom/mode_design/users/dialog_user.h
+++ b/glom/mode_design/users/dialog_user.h
@@ -21,7 +21,8 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_USER_H
 #define GLOM_MODE_DESIGN_DIALOG_USER_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/entry.h>
 #include <gtkmm/builder.h>
 #include "../../utility_widgets/combo_textglade.h"
 
diff --git a/glom/mode_design/users/dialog_users_list.h b/glom/mode_design/users/dialog_users_list.h
index 2002159..8acc956 100644
--- a/glom/mode_design/users/dialog_users_list.h
+++ b/glom/mode_design/users/dialog_users_list.h
@@ -21,7 +21,8 @@
 #ifndef GLOM_MODE_DESIGN_DIALOG_USERS_LIST_H
 #define GLOM_MODE_DESIGN_DIALOG_USERS_LIST_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/treeview.h>
 #include <gtkmm/builder.h>
 #include <glom/base_db.h>
 #include "../../utility_widgets/combo_textglade.h"
diff --git a/glom/navigation/box_tables.cc b/glom/navigation/box_tables.cc
index 1330182..095905b 100644
--- a/glom/navigation/box_tables.cc
+++ b/glom/navigation/box_tables.cc
@@ -22,6 +22,7 @@
 #include <glom/utils_ui.h> //For bold_message()).
 #include <libglom/db_utils.h>
 #include <glom/application.h>
+#include <gtkmm/stock.h>
 #include <glibmm/i18n.h>
 
 #include <iostream>
diff --git a/glom/navigation/box_tables.h b/glom/navigation/box_tables.h
index 5af1eaa..d9ca33d 100644
--- a/glom/navigation/box_tables.h
+++ b/glom/navigation/box_tables.h
@@ -25,6 +25,7 @@
 #include <glom/base_db.h>
 #include <glom/utility_widgets/adddel/adddel_withbuttons.h>
 #include <gtkmm/builder.h>
+#include <gtkmm/checkbutton.h>
 
 namespace Glom
 {
diff --git a/glom/utility_widgets/adddel/adddel.cc b/glom/utility_widgets/adddel/adddel.cc
index 02855fd..ca18b4a 100644
--- a/glom/utility_widgets/adddel/adddel.cc
+++ b/glom/utility_widgets/adddel/adddel.cc
@@ -28,6 +28,7 @@
 #include <libglom/data_structure/glomconversions.h>
 #include <glom/dialog_invalid_data.h>
 #include <glom/utils_ui.h>
+#include <gtkmm/stock.h>
 #include <libglom/utils.h>
 //#include <glom/bakery/app_gtk.h>
 #include <iostream> //For debug output.
diff --git a/glom/utility_widgets/adddel/adddel.h b/glom/utility_widgets/adddel/adddel.h
index 2027721..447de7a 100644
--- a/glom/utility_widgets/adddel/adddel.h
+++ b/glom/utility_widgets/adddel/adddel.h
@@ -21,10 +21,13 @@
 #ifndef GLOM_UTLITY_WIDGETS_ADDDEL_H
 #define GLOM_UTLITY_WIDGETS_ADDDEL_H
 
-#include <gtkmm.h>
 #include <libglom/data_structure/field.h>
-#include <libgdamm.h>
 #include <gtkmm/builder.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/box.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/uimanager.h>
 
 #include <vector>
 #include <map>
diff --git a/glom/utility_widgets/adddel/adddel_withbuttons.cc b/glom/utility_widgets/adddel/adddel_withbuttons.cc
index 5a330e9..2d736d3 100644
--- a/glom/utility_widgets/adddel/adddel_withbuttons.cc
+++ b/glom/utility_widgets/adddel/adddel_withbuttons.cc
@@ -20,6 +20,7 @@
 
 #include "adddel_withbuttons.h"
 #include <glom/utils_ui.h>
+#include <gtkmm/stock.h>
 
 //#include <libgnome/gnome-i18n.h>
 
diff --git a/glom/utility_widgets/adddel/adddel_withbuttons.h b/glom/utility_widgets/adddel/adddel_withbuttons.h
index 1125296..3429312 100644
--- a/glom/utility_widgets/adddel/adddel_withbuttons.h
+++ b/glom/utility_widgets/adddel/adddel_withbuttons.h
@@ -22,6 +22,7 @@
 #define GLOM_UTILITY_WIDGETS_ADDDEL_WITHBUTTONS_H
 
 #include "adddel.h"
+#include <gtkmm/buttonbox.h>
 
 namespace Glom
 {
diff --git a/glom/utility_widgets/canvas/canvas_editable.h b/glom/utility_widgets/canvas/canvas_editable.h
index 1bca48c..c7600ed 100644
--- a/glom/utility_widgets/canvas/canvas_editable.h
+++ b/glom/utility_widgets/canvas/canvas_editable.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_UTILITY_WIDGETS_CANVAS_EDITABLE_H
 #define GLOM_UTILITY_WIDGETS_CANVAS_EDITABLE_H
 
-#include <goocanvasmm.h>
+#include <goocanvasmm/canvas.h>
 #include <glom/utility_widgets/canvas/canvas_group_grid.h>
 #include <glom/utility_widgets/canvas/canvas_item_movable.h>
 #include <map>
diff --git a/glom/utility_widgets/cellrendererlist.h b/glom/utility_widgets/cellrendererlist.h
index ad9380d..1179006 100644
--- a/glom/utility_widgets/cellrendererlist.h
+++ b/glom/utility_widgets/cellrendererlist.h
@@ -21,9 +21,8 @@
 #ifndef GLOM_UTILITY_WIDGETS_CELLRENDERERLIST_H
 #define GLOM_UTILITY_WIDGETS_CELLRENDERERLIST_H
 
-#include <gtkmm.h>
-//#include <gtkmm/cellrenderercombo.h>
-//#include <gtkmm/liststore.h>
+#include <gtkmm/cellrenderercombo.h>
+#include <gtkmm/liststore.h>
 
 
 namespace Glom
diff --git a/glom/utility_widgets/dialog_flowtable.h b/glom/utility_widgets/dialog_flowtable.h
index 5ddceae..0af0630 100644
--- a/glom/utility_widgets/dialog_flowtable.h
+++ b/glom/utility_widgets/dialog_flowtable.h
@@ -21,7 +21,9 @@
 #ifndef GLOM_DIALOG_FLOWTABLE_H
 #define GLOM_DIALOG_FLOWTABLE_H
 
-#include <gtkmm.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/entry.h>
 #include <gtkmm/builder.h>
 #include "../mode_data/flowtablewithfields.h"
 #include <glom/base_db.h>
diff --git a/glom/utility_widgets/dialog_properties.cc b/glom/utility_widgets/dialog_properties.cc
index dcf98ee..10a5e56 100644
--- a/glom/utility_widgets/dialog_properties.cc
+++ b/glom/utility_widgets/dialog_properties.cc
@@ -20,6 +20,8 @@
 
 #include "glom/utility_widgets/adddel/adddel.h"
 #include "dialog_properties.h"
+#include <gtkmm/togglebutton.h>
+#include <gtkmm/textview.h>
 
 namespace Glom
 {
diff --git a/glom/utility_widgets/dialog_properties.h b/glom/utility_widgets/dialog_properties.h
index 8d9016a..f516887 100644
--- a/glom/utility_widgets/dialog_properties.h
+++ b/glom/utility_widgets/dialog_properties.h
@@ -24,6 +24,7 @@
 #include <gtkmm/window.h>
 #include <gtkmm/treemodel.h>
 #include <gtkmm/button.h>
+#include <gtkmm/combobox.h>
 #include <gtkmm/builder.h>
 
 namespace Glom
diff --git a/glom/utility_widgets/eggspreadtablemm/eggspreadtablemm.h b/glom/utility_widgets/eggspreadtablemm/eggspreadtablemm.h
index c1b5805..7f2481a 100644
--- a/glom/utility_widgets/eggspreadtablemm/eggspreadtablemm.h
+++ b/glom/utility_widgets/eggspreadtablemm/eggspreadtablemm.h
@@ -18,7 +18,6 @@
 #ifndef _EGG_SPREADTABLE_H
 #define _EGG_SPREADTABLE_H
 
-#include <glibmm.h>
 #include <gtkmm/container.h>
 #include <gtkmm/orientable.h>
 
diff --git a/glom/utility_widgets/flowtable.cc b/glom/utility_widgets/flowtable.cc
index ccad14a..ae3cb15 100644
--- a/glom/utility_widgets/flowtable.cc
+++ b/glom/utility_widgets/flowtable.cc
@@ -21,6 +21,7 @@
 #include "flowtable.h"
 #include "layoutwidgetbase.h"
 #include <iostream>
+#include <gtkmm/eventbox.h>
 #include <gdkmm/window.h>
 #include <glom/utils_ui.h>
 
@@ -28,8 +29,7 @@ namespace Glom
 {
 
 FlowTable::FlowTable()
-:
-  m_design_mode(false)
+: m_design_mode(false)
 {
   //Default to disabling drag and drop:
   set_drag_enabled(EGG_DRAG_DISABLED);
diff --git a/glom/utility_widgets/flowtable.h b/glom/utility_widgets/flowtable.h
index c143980..8f9d0bb 100644
--- a/glom/utility_widgets/flowtable.h
+++ b/glom/utility_widgets/flowtable.h
@@ -21,9 +21,9 @@
 #ifndef GLOM_UTILITYWIDGETS_FLOWTABLE_H
 #define GLOM_UTILITYWIDGETS_FLOWTABLE_H
 
-#include <gtkmm.h>
 #include <glom/utility_widgets/eggspreadtablemm/eggspreadtabledndmm.h>
 #include "layoutwidgetbase.h"
+#include <gtkmm/box.h>
 
 namespace Glom
 {
diff --git a/glom/utility_widgets/imageglom.cc b/glom/utility_widgets/imageglom.cc
index 6767ddc..b8c49bb 100644
--- a/glom/utility_widgets/imageglom.cc
+++ b/glom/utility_widgets/imageglom.cc
@@ -26,6 +26,10 @@
 #include <libglom/data_structure/glomconversions.h>
 #include <glom/utility_widgets/dialog_image_load_progress.h>
 #include <glom/utility_widgets/dialog_image_save_progress.h>
+#include <gtkmm/appchooserdialog.h>
+#include <gtkmm/filechooserdialog.h>
+#include <gtkmm/stock.h>
+#include <giomm.h>
 
 #include <iostream>   // for cout, endl
 
diff --git a/glom/utility_widgets/imageglom.h b/glom/utility_widgets/imageglom.h
index ee5b031..fb2ac3c 100644
--- a/glom/utility_widgets/imageglom.h
+++ b/glom/utility_widgets/imageglom.h
@@ -21,10 +21,14 @@
 #ifndef GLOM_UTILITY_WIDGETS_IMAGE_GLOM_H
 #define GLOM_UTILITY_WIDGETS_IMAGE_GLOM_H
 
-#include <gtkmm.h>
+#include <gtkmm/eventbox.h>
+#include <gtkmm/image.h>
+#include <gtkmm/menu.h>
 #include <libglom/data_structure/field.h>
 #include "layoutwidgetfield.h"
+#include <gtkmm/frame.h>
 #include <gtkmm/builder.h>
+#include <giomm/appinfo.h>
 #include <evince-view.h>
 
 namespace Glom
diff --git a/glom/utility_widgets/layouttoolbarbutton.h b/glom/utility_widgets/layouttoolbarbutton.h
index 591fecc..92b65ba 100644
--- a/glom/utility_widgets/layouttoolbarbutton.h
+++ b/glom/utility_widgets/layouttoolbarbutton.h
@@ -22,7 +22,7 @@
 #ifndef GLOM_UTILITY_WIDGETS_LAYOUTTOOLBARBUTTON_H
 #define GLOM_UTILITY_WIDGETS_LAYOUTTOOLBARBUTTON_H
 
-#include <gtkmm/button.h>
+#include <gtkmm/toolbutton.h>
 #include <gtkmm/image.h>
 #include <string>
 
diff --git a/glom/utility_widgets/layoutwidgetbase.h b/glom/utility_widgets/layoutwidgetbase.h
index bed69f4..cc0244a 100644
--- a/glom/utility_widgets/layoutwidgetbase.h
+++ b/glom/utility_widgets/layoutwidgetbase.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_UTILITY_WIDGETS_LAYOUT_WIDGET_BASE_H
 #define GLOM_UTILITY_WIDGETS_LAYOUT_WIDGET_BASE_H
 
-#include <gtkmm.h>
+#include <gtkmm/widget.h>
 #include <libglom/data_structure/layout/layoutitem.h>
 #include <glom/mode_design/layout/treestore_layout.h> //Forthe enum.
 
diff --git a/glom/utility_widgets/layoutwidgetmenu.h b/glom/utility_widgets/layoutwidgetmenu.h
index 2d038e6..a87e865 100644
--- a/glom/utility_widgets/layoutwidgetmenu.h
+++ b/glom/utility_widgets/layoutwidgetmenu.h
@@ -22,6 +22,7 @@
 #define GLOM_MODE_DATA_LAYOUT_WIDGET_MENU_H
 
 #include "layoutwidgetbase.h"
+#include <gtkmm/uimanager.h>
 
 namespace Glom
 {
diff --git a/glom/utility_widgets/layoutwidgetutils.h b/glom/utility_widgets/layoutwidgetutils.h
index 75bb74c..959976d 100644
--- a/glom/utility_widgets/layoutwidgetutils.h
+++ b/glom/utility_widgets/layoutwidgetutils.h
@@ -23,8 +23,10 @@
 #ifndef GLOM_UTILITY_WIDGETS_LAYOUT_WIDGET_UTILS_H
 #define GLOM_UTILITY_WIDGETS_LAYOUT_WIDGET_UTILS_H
 
-#include <gtkmm.h>
+#include <gtkmm/widget.h>
+#include <gtkmm/menu.h>
 #include "layoutwidgetbase.h"
+#include <gtkmm/uimanager.h>
 
 namespace Glom
 {
diff --git a/glom/utility_widgets/notebookglom.h b/glom/utility_widgets/notebookglom.h
index 7391444..944e6de 100644
--- a/glom/utility_widgets/notebookglom.h
+++ b/glom/utility_widgets/notebookglom.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_UTILITY_WIDGETS_NOTEBOOK_GLOM_H
 #define GLOM_UTILITY_WIDGETS_NOTEBOOK_GLOM_H
 
-#include <gtkmm.h>
+#include <gtkmm/notebook.h>
 #include "layoutwidgetmenu.h"
 #include <libglom/data_structure/layout/layoutitem_notebook.h>
 #include <gtkmm/builder.h>
diff --git a/glom/utility_widgets/notebooklabelglom.h b/glom/utility_widgets/notebooklabelglom.h
index 8ded8e4..b645d4e 100644
--- a/glom/utility_widgets/notebooklabelglom.h
+++ b/glom/utility_widgets/notebooklabelglom.h
@@ -21,8 +21,10 @@
 #ifndef GLOM_UTILITY_WIDGETS_NOTEBOOK_LABEL_GLOM_H
 #define GLOM_UTILITY_WIDGETS_NOTEBOOK_LABEL_GLOM_H
 
-#include <gtkmm.h>
 #include "notebookglom.h"
+#include <gtkmm/eventbox.h>
+#include <gtkmm/label.h>
+#include <gtkmm/menu.h>
 #include <gtkmm/builder.h>
 
 namespace Glom
@@ -38,7 +40,7 @@ public:
   explicit NotebookLabel(const Glib::ustring& label, NotebookGlom* notebook);
   virtual ~NotebookLabel();
 
-  void set_label (const Glib::ustring& title);  
+  void set_label(const Glib::ustring& title);  
     
 private:
   void init();
diff --git a/glom/utility_widgets/placeholder.h b/glom/utility_widgets/placeholder.h
index 6406abe..294bcd9 100644
--- a/glom/utility_widgets/placeholder.h
+++ b/glom/utility_widgets/placeholder.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_UTILITY_WIDGETS_PLACEHOLDER_H
 #define GLOM_UTILITY_WIDGETS_PLACEHOLDER_H
 
-#include <gtkmm.h>
+#include <gtkmm/box.h>
 #include <gtkmm/builder.h>
 
 namespace Glom
diff --git a/tests/import/test_parsing.cc b/tests/import/test_parsing.cc
index 128c072..b923a39 100644
--- a/tests/import/test_parsing.cc
+++ b/tests/import/test_parsing.cc
@@ -1,7 +1,6 @@
 #include <glom/import_csv/csv_parser.h>
 #include <tests/import/utils.h>
 //#include <glibmm/regex.h>
-#include <glibmm.h>
 #include <giomm.h>
 #include <iostream>
 #include <cstdlib>
diff --git a/tests/import/test_signals.cc b/tests/import/test_signals.cc
index ec798c3..3cb7d76 100644
--- a/tests/import/test_signals.cc
+++ b/tests/import/test_signals.cc
@@ -1,6 +1,5 @@
 #include <glom/import_csv/csv_parser.h>
 #include <tests/import/utils.h>
-#include <glibmm.h>
 #include <giomm.h>
 #include <iostream>
 #include <stdexcept>
diff --git a/tests/test_parsing_time.cc b/tests/test_parsing_time.cc
index c239614..be51ed7 100644
--- a/tests/test_parsing_time.cc
+++ b/tests/test_parsing_time.cc
@@ -1,4 +1,5 @@
 #include <libglom/data_structure/glomconversions.h>
+#include <libgdamm/init.h>
 #include <iostream>
 
 int main()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]