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



commit b1359d4b3de757d751624b86673c7c8c10073c7b
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.
    
    Conflicts:
    
    	glom/application.cc
    	glom/application.h
    	glom/mode_data/box_data_details.cc
    	glom/mode_data/datawidget/cellrenderer_dblist.h
    	glom/mode_data/datawidget/combo.cc
    	glom/mode_data/datawidget/combochoiceswithtreemodel.cc
    	glom/mode_data/placeholder-glom.h
    	glom/mode_design/dialog_database_preferences.h
    	glom/mode_design/layout/layout_item_dialogs/dialog_line.h
    	glom/utility_widgets/canvas/canvas_editable.h
    	glom/utility_widgets/db_adddel/db_adddel.cc
    	glom/utility_widgets/db_adddel/db_adddel.h
    	glom/utility_widgets/eggspreadtablemm/eggspreadtablemm.h
    	glom/utility_widgets/flowtable.cc
    	glom/utility_widgets/flowtable.h
    	glom/utility_widgets/imageglom.cc
    	glom/utility_widgets/imageglom.h
    	tests/import/test_parsing.cc
    	tests/import/test_signals.cc

 ChangeLog                                          |    6 ++++++
 glom/application.cc                                |    4 ++++
 glom/application.h                                 |    5 +++--
 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                 |    6 ++++++
 glom/mode_data/box_data_portal.h                   |    3 +++
 glom/mode_data/buttonglom.h                        |    2 +-
 glom/mode_data/datawidget/checkbutton.h            |    2 +-
 glom/mode_data/datawidget/combo.cc                 |    2 ++
 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        |    2 ++
 .../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/flowtablewithfields.h               |    5 +++++
 glom/mode_data/placeholder-glom.cc                 |    1 +
 glom/mode_data/placeholder-glom.h                  |    8 +++++++-
 glom/mode_design/dialog_database_preferences.h     |    3 +++
 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_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      |    4 +++-
 .../cellrendererlist/cellrendererlist.h            |    5 ++---
 glom/utility_widgets/db_adddel/db_adddel.cc        |    2 ++
 glom/utility_widgets/db_adddel/db_adddel.h         |    7 +++++--
 .../db_adddel/db_adddel_withbuttons.cc             |    2 ++
 .../db_adddel/db_adddel_withbuttons.h              |    1 +
 .../utility_widgets/db_adddel/glom_db_treemodel.cc |    5 ++++-
 glom/utility_widgets/db_adddel/glom_db_treemodel.h |    5 ++---
 glom/utility_widgets/dialog_flowtable.h            |    4 +++-
 glom/utility_widgets/dialog_properties.cc          |    2 ++
 glom/utility_widgets/dialog_properties.h           |    1 +
 glom/utility_widgets/flowtable.cc                  |    1 +
 glom/utility_widgets/flowtable.h                   |    1 +
 glom/utility_widgets/imageglom.cc                  |    8 ++++++--
 glom/utility_widgets/imageglom.h                   |    8 +++++++-
 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                       |    2 +-
 tests/import/test_signals.cc                       |    2 +-
 tests/test_parsing_time.cc                         |    1 +
 112 files changed, 235 insertions(+), 72 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 8182acc..05dd96f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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-21  Murray Cumming  <murrayc murrayc com>
 
 	Avoid calling g_thread_init() if possible.
diff --git a/glom/application.cc b/glom/application.cc
index e3693ae..6b52678 100644
--- a/glom/application.cc
+++ b/glom/application.cc
@@ -40,6 +40,10 @@
 #include <glom/python_embed/glom_python.h>
 #include <libglom/spawn_with_feedback.h>
 
+#include <gtkmm/radioaction.h>
+#include <gtkmm/stock.h>
+#include <gtkmm/main.h>
+
 #include <cstdio>
 #include <memory> //For std::auto_ptr<>
 #include <giomm.h>
diff --git a/glom/application.h b/glom/application.h
index af54244..6fff983 100644
--- a/glom/application.h
+++ b/glom/application.h
@@ -38,8 +38,9 @@
 #endif //GLOM_ENABLE_MAEMO
 
 #include <glom/frame_glom.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 04103b0..2c6e972 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 0d6ccba..28046c4 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 49d7afa..87bd09e 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 f15af87..37d698d 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 c383f05..bad6bb6 100644
--- a/glom/frame_glom.cc
+++ b/glom/frame_glom.cc
@@ -67,6 +67,8 @@
 #endif
 
 #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 241c659..9d18c71 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 48b3c2b..4cd56d5 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 4dbd0b8..18d30b5 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 2ebda8e..e9983d8 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 cddec01..020c5cf 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 36cbdaf..3b4c106 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 3d0d676..31d11e8 100644
--- a/glom/libglom/connectionpool_backends/sqlite.cc
+++ b/glom/libglom/connectionpool_backends/sqlite.cc
@@ -23,6 +23,7 @@
 #include <libglom/connectionpool_backends/sqlite.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 f9d3b2d..840b7d4 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 49265f9..a79238a 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 b9e5a55..275896f 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 e094c61..2c9491a 100644
--- a/glom/libglom/db_utils.cc
+++ b/glom/libglom/db_utils.cc
@@ -26,6 +26,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>
 #include <iostream>
diff --git a/glom/libglom/document/bakery/document.h b/glom/libglom/document/bakery/document.h
index 9ea69f6..b1ecf8c 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 88e5640..ef565af 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 cc5ba76..65eb4ee 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 2459f7c..ffb11ee 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 cc14247..e814bff 100644
--- a/glom/mode_data/box_data_details.cc
+++ b/glom/mode_data/box_data_details.cc
@@ -31,6 +31,12 @@
 #include <libglom/privs.h>
 #include <glom/xsl_utils.h>
 #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 823dd86..0020cb1 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>
 
 #ifdef GLOM_ENABLE_MAEMO
 #include <hildonmm/button.h>
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/checkbutton.h b/glom/mode_data/datawidget/checkbutton.h
index 4022caa..1a7f2dd 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 6283ece..80e96a4 100644
--- a/glom/mode_data/datawidget/combo.cc
+++ b/glom/mode_data/datawidget/combo.cc
@@ -24,6 +24,8 @@
 #include <glom/dialog_invalid_data.h>
 #include <libglom/data_structure/glomconversions.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 c48c96c..b46a666 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>
 
 #ifdef GLOM_ENABLE_MAEMO
 #include <hildonmm/picker-button.h>
diff --git a/glom/mode_data/datawidget/combo_as_radio_buttons.h b/glom/mode_data/datawidget/combo_as_radio_buttons.h
index c3a63dc..42c7a9c 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 762e80b..9fcf8df 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 6cf8ac6..1609f7b 100644
--- a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
+++ b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
@@ -20,6 +20,8 @@
 
 #include "combochoiceswithtreemodel.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 8cad4e8..c13ff62 100644
--- a/glom/mode_data/datawidget/combochoiceswithtreemodel.h
+++ b/glom/mode_data/datawidget/combochoiceswithtreemodel.h
@@ -22,6 +22,8 @@
 #define GLOM_UTILITY_WIDGETS_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 fe257e2..61ea594 100644
--- a/glom/mode_data/datawidget/datawidget.cc
+++ b/glom/mode_data/datawidget/datawidget.cc
@@ -36,6 +36,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>
 
 #ifdef GLOM_ENABLE_MAEMO
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 dc11877..a7d3350 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 09b2fbb..bb856ac 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>
 
 #ifdef GLOM_ENABLE_MAEMO
diff --git a/glom/mode_data/flowtablewithfields.h b/glom/mode_data/flowtablewithfields.h
index 36d781b..e560af1 100644
--- a/glom/mode_data/flowtablewithfields.h
+++ b/glom/mode_data/flowtablewithfields.h
@@ -44,6 +44,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 f938fdc..4ef0289 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 55555b5..5f9c55a 100644
--- a/glom/mode_data/placeholder-glom.h
+++ b/glom/mode_data/placeholder-glom.h
@@ -22,7 +22,13 @@
  * 	Boston, MA  02110-1301, USA.
  */
 
-#include <gtkmm.h>
+
+
+#ifndef GLOM_MODE_DATA_PLACEHOLDER_GLOM_H
+#define GLOM_MODE_DATA_PLACEHOLDER_GLOM_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 75cb813..f1ec443 100644
--- a/glom/mode_design/dialog_database_preferences.h
+++ b/glom/mode_design/dialog_database_preferences.h
@@ -27,6 +27,9 @@
 #include <gtkmm/entry.h>
 #include <gtkmm/label.h>
 #include <gtksourceviewmm/sourceview.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>
 #include <libglom/connectionpool.h>
diff --git a/glom/mode_design/dialog_design.h b/glom/mode_design/dialog_design.h
index 209595e..bff1d67 100644
--- a/glom/mode_design/dialog_design.h
+++ b/glom/mode_design/dialog_design.h
@@ -21,7 +21,8 @@
 #ifndef GLOM_DIALOG_DESIGN_H
 #define GLOM_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 75629f4..ed903d3 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 833bf83..62ef318 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 8f1d010..147d71f 100644
--- a/glom/mode_design/fields/dialog_fieldcalculation.h
+++ b/glom/mode_design/fields/dialog_fieldcalculation.h
@@ -21,7 +21,9 @@
 #ifndef DIALOG_FIELDCALCULATION_H
 #define 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 236f09d..dc2b874 100644
--- a/glom/mode_design/fields/dialog_fielddefinition.h
+++ b/glom/mode_design/fields/dialog_fielddefinition.h
@@ -21,7 +21,10 @@
 #ifndef DIALOG_FIELDDEFINITION_H
 #define 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 094c4a7..f08e044 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_DATA_DIALOG_CHOOSE_FIELD_H
 #define GLOM_MODE_DATA_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 9a13a64..2814e1d 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 8c5b766..b423d68 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 4b080ea..4b32727 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 5f49791..b516bfb 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 21db584..7a447c7 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_BOX_FORMATTING_H
 #define GLOM_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 01c7855..5a0e057 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 DIALOG_BUTTONSCRIPT_H
 #define 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 b3703ad..0dd1b07 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_DATA_DIALOG_FIELD_LAYOUT_H
 #define GLOM_MODE_DATA_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 2941e60..4c0f6b6 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 7c36c63..27d248c 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_DATA_DIALOG_FORMATTING_H
 #define GLOM_MODE_DATA_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 86d6d8d..1711ea4 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 18e0f07..2697579 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 DIALOG_IMAGEOBJECT_H
 #define 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_textobject.h b/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h
index d0037b0..5666bdb 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 DIALOG_TEXTOBJECT_H
 #define 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 2a79e5e..0fe6619 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 ccf85dc..fea6bbd 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -25,7 +25,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 0c6f2fe..da5cb73 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.h
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.h
@@ -33,6 +33,8 @@
 #include <gtkmm/uimanager.h>
 //TODO: #include <gtkmm/ruler.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 ae6fad6..956eb8e 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 613f01d..21d5947 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/sourcelanguagemanager.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 30e2f01..0bbb4b2 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 665ca1e..c79621c 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 8fc77ac..290346b 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 9c9505b..9693f04 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 364fc54..2fe66a3 100644
--- a/glom/utility_widgets/adddel/adddel.h
+++ b/glom/utility_widgets/adddel/adddel.h
@@ -21,10 +21,13 @@
 #ifndef ADDDEL_H
 #define 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 addba32..6b52ae1 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 86175a4..8088e92 100644
--- a/glom/utility_widgets/adddel/adddel_withbuttons.h
+++ b/glom/utility_widgets/adddel/adddel_withbuttons.h
@@ -22,6 +22,7 @@
 #define 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 e51c462..abb4f91 100644
--- a/glom/utility_widgets/canvas/canvas_editable.h
+++ b/glom/utility_widgets/canvas/canvas_editable.h
@@ -21,8 +21,10 @@
 #ifndef GLOM_UTILITY_WIDGETS_CANVAS_EDITABLE_H
 #define GLOM_UTILITY_WIDGETS_CANVAS_EDITABLE_H
 
-#include <goocanvasmm.h>
+#include <goocanvasmm/canvas.h>
 #include "canvas_group_grid.h"
+#include <glom/utility_widgets/canvas/canvas_group_grid.h>
+#include <glom/utility_widgets/canvas/canvas_item_movable.h>
 #include <map>
 #include "config.h" // For GLOM_ENABLE_CLIENT_ONLY
 
diff --git a/glom/utility_widgets/cellrendererlist/cellrendererlist.h b/glom/utility_widgets/cellrendererlist/cellrendererlist.h
index cbeb618..5c3f1d3 100644
--- a/glom/utility_widgets/cellrendererlist/cellrendererlist.h
+++ b/glom/utility_widgets/cellrendererlist/cellrendererlist.h
@@ -21,9 +21,8 @@
 #ifndef ADDDEL_CELLRENDERERLIST_H
 #define ADDDEL_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/db_adddel/db_adddel.cc b/glom/utility_widgets/db_adddel/db_adddel.cc
index 31c8a10..6752d02 100644
--- a/glom/utility_widgets/db_adddel/db_adddel.cc
+++ b/glom/utility_widgets/db_adddel/db_adddel.cc
@@ -30,6 +30,8 @@
 #include "cellrenderer_buttonimage.h"
 #include "cellrenderer_buttontext.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/utility_widgets/db_adddel/db_adddel.h b/glom/utility_widgets/db_adddel/db_adddel.h
index d4bfe45..104d27a 100644
--- a/glom/utility_widgets/db_adddel/db_adddel.h
+++ b/glom/utility_widgets/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/utility_widgets/db_adddel/glom_db_treemodel.h>
 #include <libglom/document/document.h>
 #include <glom/base_db_table_data.h>
diff --git a/glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc b/glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc
index b5c9ebb..d3d289e 100644
--- a/glom/utility_widgets/db_adddel/db_adddel_withbuttons.cc
+++ b/glom/utility_widgets/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/utility_widgets/db_adddel/db_adddel_withbuttons.h b/glom/utility_widgets/db_adddel/db_adddel_withbuttons.h
index 5d145f8..e3e8b5a 100644
--- a/glom/utility_widgets/db_adddel/db_adddel_withbuttons.h
+++ b/glom/utility_widgets/db_adddel/db_adddel_withbuttons.h
@@ -22,6 +22,7 @@
 #define GLOM_DB_ADDDEL_WITHBUTTONS_H
 
 #include "db_adddel.h"
+#include <gtkmm/buttonbox.h>
 
 #ifdef GLOM_ENABLE_MAEMO
 #include <hildonmm/button.h>
diff --git a/glom/utility_widgets/db_adddel/glom_db_treemodel.cc b/glom/utility_widgets/db_adddel/glom_db_treemodel.cc
index 347f9b8..5cb18ac 100644
--- a/glom/utility_widgets/db_adddel/glom_db_treemodel.cc
+++ b/glom/utility_widgets/db_adddel/glom_db_treemodel.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/utility_widgets/db_adddel/glom_db_treemodel.h b/glom/utility_widgets/db_adddel/glom_db_treemodel.h
index 41b65aa..4196742 100644
--- a/glom/utility_widgets/db_adddel/glom_db_treemodel.h
+++ b/glom/utility_widgets/db_adddel/glom_db_treemodel.h
@@ -21,9 +21,8 @@
 #ifndef GLOM_MODE_DATA_DB_TREEMODEL_H
 #define GLOM_MODE_DATA_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/utility_widgets/dialog_flowtable.h b/glom/utility_widgets/dialog_flowtable.h
index 3f917a9..2dad542 100644
--- a/glom/utility_widgets/dialog_flowtable.h
+++ b/glom/utility_widgets/dialog_flowtable.h
@@ -21,7 +21,9 @@
 #ifndef DIALOG_FLOWTABLE_H
 #define 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 3c3e67c..dac9bdf 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/flowtable.cc b/glom/utility_widgets/flowtable.cc
index de87df4..d638c96 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>
 
diff --git a/glom/utility_widgets/flowtable.h b/glom/utility_widgets/flowtable.h
index 974f58e..4a6b1db 100644
--- a/glom/utility_widgets/flowtable.h
+++ b/glom/utility_widgets/flowtable.h
@@ -23,6 +23,7 @@
 
 #include <gtkmm.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 61d2c26..4ddb776 100644
--- a/glom/utility_widgets/imageglom.cc
+++ b/glom/utility_widgets/imageglom.cc
@@ -24,8 +24,12 @@
 #include <glom/utils_ui.h>
 #include <glom/glade_utils.h>
 #include <libglom/data_structure/glomconversions.h>
-//#include <sstream> //For stringstream
-
+#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
 
 namespace Glom
diff --git a/glom/utility_widgets/imageglom.h b/glom/utility_widgets/imageglom.h
index 392ebfd..d7065a6 100644
--- a/glom/utility_widgets/imageglom.h
+++ b/glom/utility_widgets/imageglom.h
@@ -21,11 +21,17 @@
 #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 "dialog_image_progress.h"
 #include <gtkmm/builder.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 3f3687c..df97954 100644
--- a/glom/utility_widgets/layoutwidgetbase.h
+++ b/glom/utility_widgets/layoutwidgetbase.h
@@ -21,7 +21,7 @@
 #ifndef GLOM_MODE_DATA_LAYOUT_WIDGET_BASE_H
 #define GLOM_MODE_DATA_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 85042d7..9bbaa7b 100644
--- a/glom/utility_widgets/layoutwidgetutils.h
+++ b/glom/utility_widgets/layoutwidgetutils.h
@@ -23,8 +23,10 @@
 #ifndef _GLOM_LAYOUT_WIDGET_UTILS_H_
 #define _GLOM_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 9130919..92b2af5 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 bbe5b3c..8161a74 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 d5290bc..255128d 100644
--- a/tests/import/test_parsing.cc
+++ b/tests/import/test_parsing.cc
@@ -1,7 +1,7 @@
+#include <gtkmm.h>
 #include <glom/import_csv/csv_parser.h>
 #include <tests/import/utils.h>
 //#include <glibmm/regex.h>
-#include <gtkmm.h>
 #include <iostream>
 #include <cstdlib>
 
diff --git a/tests/import/test_signals.cc b/tests/import/test_signals.cc
index 1ea3f63..ffd47d2 100644
--- a/tests/import/test_signals.cc
+++ b/tests/import/test_signals.cc
@@ -1,6 +1,6 @@
+#include <gtkmm.h>
 #include <glom/import_csv/csv_parser.h>
 #include <tests/import/utils.h>
-#include <gtkmm.h>
 #include <iostream>
 #include <stdexcept>
 #include <cstdlib>
diff --git a/tests/test_parsing_time.cc b/tests/test_parsing_time.cc
index 74187f1..4fd575f 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]