[gnumeric] Compilation: don't compile widgets separately.



commit e3ac43da18a2b7322c50be6c0805b405009296b3
Author: Morten Welinder <terra gnome org>
Date:   Tue May 15 19:23:59 2018 -0400

    Compilation: don't compile widgets separately.
    
    This makes more code available to introspection and allows more parallel
    compilation.

 configure.ac                      |    1 -
 src/Makefile.am                   |   70 +++++++++++++++++++++++++++++++------
 src/widgets/.gitignore            |    2 -
 src/widgets/Makefile.am           |   53 ----------------------------
 src/widgets/gnm-cell-combo-view.c |    2 +-
 src/widgets/gnm-cell-combo-view.h |    2 +-
 src/widgets/gnm-dao.c             |    3 +-
 src/widgets/gnm-dao.h             |    2 +-
 src/widgets/gnm-format-sel.c      |    8 +++-
 src/widgets/gnm-format-sel.h      |    2 +-
 src/widgets/gnm-notebook.c        |   12 ++++++-
 src/widgets/gnm-notebook.h        |    2 +-
 src/widgets/gnm-radiobutton.c     |   17 ++++++---
 src/widgets/gnm-radiobutton.h     |    2 +-
 src/widgets/gnm-sheet-sel.c       |   18 +++++++++-
 src/widgets/gnm-sheet-sel.h       |    2 +-
 src/widgets/gnm-workbook-sel.c    |   13 ++++++-
 src/widgets/gnm-workbook-sel.h    |    2 +-
 src/widgets/gnumeric-lazy-list.c  |    3 ++
 19 files changed, 128 insertions(+), 88 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 3413d34..f92186b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1191,7 +1191,6 @@ icons/256x256/Makefile
 icons/256x256/apps/Makefile
 introspection/Makefile
 src/Makefile
-src/widgets/Makefile
 src/tools/Makefile
 doc/Makefile
 plugins/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 5701722..d66a3cd 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,6 +16,8 @@ INTROSPECTION_COMPILER_ARGS = \
 
 SUBDIRS = tools
 
+EXTRA_DIST =
+
 lib_LTLIBRARIES = libspreadsheet.la
 
 bin_PROGRAMS =
@@ -25,7 +27,6 @@ noinst_PROGRAMS = sstest
 noinst_HEADERS = dead-kittens.h compilation.h gnm-i18n.h
 
 if WITH_GTK
-  SUBDIRS += widgets
   bin_PROGRAMS += gnumeric
 endif
 
@@ -135,7 +136,7 @@ resource_ui_files =                         \
        wilcoxon-mann-whitney.ui                \
        workbook-attr.ui
 
-dialog_sources =                                               \
+dialogs_sources =                                              \
        dialogs/dao-gui-utils.c                                 \
        dialogs/dialog-about.c                                  \
        dialogs/dialog-advanced-filter.c                        \
@@ -206,7 +207,7 @@ dialog_sources =                                            \
        dialogs/dialog-zoom.c                                   \
        dialogs/dialog-printer-setup.c
 
-dialog_headers = \
+dialogs_headers = \
        dialogs/help.h                                          \
        dialogs/dao-gui-utils.h                                 \
        dialogs/dialog-stf.h                                    \
@@ -215,6 +216,49 @@ dialog_headers = \
        dialogs/dialogs.h                                       \
        dialogs/tool-dialogs.h
 
+widgets_sources = \
+       widgets/gnm-dao.c                               \
+       widgets/gnm-fontbutton.c                        \
+       widgets/gnm-format-sel.c                        \
+       widgets/gnm-notebook.c                          \
+       widgets/gnm-radiobutton.c                       \
+       widgets/gnm-cell-combo-view.c                   \
+       widgets/gnm-filter-combo-view.c                 \
+       widgets/gnm-validation-combo-view.c             \
+       widgets/gnm-sheet-sel.c                         \
+       widgets/gnm-sheet-slicer-combo-view.c           \
+       widgets/gnm-so-anchor-mode-chooser.c            \
+       widgets/gnm-workbook-sel.c                      \
+       widgets/gnumeric-cell-renderer-text.c           \
+       widgets/gnumeric-cell-renderer-expr-entry.c     \
+       widgets/gnumeric-cell-renderer-toggle.c         \
+       widgets/gnumeric-dashed-canvas-line.c           \
+       widgets/gnumeric-expr-entry.c                   \
+       widgets/gnumeric-lazy-list.c                    \
+       widgets/gnumeric-text-view.c
+
+widgets_headers = \
+       widgets/gnm-dao.h                               \
+       widgets/gnm-fontbutton.h                        \
+       widgets/gnm-format-sel.h                        \
+       widgets/gnm-notebook.h                          \
+       widgets/gnm-radiobutton.h                       \
+       widgets/gnm-cell-combo-view.h                   \
+       widgets/gnm-cell-combo-view-impl.h              \
+       widgets/gnm-filter-combo-view.h                 \
+       widgets/gnm-validation-combo-view.h             \
+       widgets/gnm-sheet-sel.h                         \
+       widgets/gnm-sheet-slicer-combo-view.h           \
+       widgets/gnm-so-anchor-mode-chooser.h            \
+       widgets/gnm-workbook-sel.h                      \
+       widgets/gnumeric-cell-renderer-text.h           \
+       widgets/gnumeric-cell-renderer-expr-entry.h     \
+       widgets/gnumeric-cell-renderer-toggle.h         \
+       widgets/gnumeric-dashed-canvas-line.h           \
+       widgets/gnumeric-expr-entry.h                   \
+       widgets/gnumeric-lazy-list.h                    \
+       widgets/gnumeric-text-view.h
+
 
 # Another hint, see bugs #172211 and #172212:
 non-intermediate: gnm-marshalers.c gnmresources.c
@@ -383,7 +427,13 @@ libspreadsheet_la_SOURCES =                \
        workbook.c                              \
        xml-sax-read.c                          \
        xml-sax-write.c                         \
-       $(dialog_sources)
+       $(dialogs_sources)
+
+if WITH_GTK
+  libspreadsheet_la_SOURCES += $(widgets_sources)
+else
+  EXTRA_DIST += $(widgets_sources)
+endif
 
 nodist_libspreadsheet_la_SOURCES = gnmresources.c gnmresources.h
 
@@ -524,7 +574,8 @@ libspreadsheet_include_HEADERS =            \
        workbook.h                              \
        xml-io-version.h                        \
        xml-sax.h                               \
-       $(dialog_headers)
+       $(dialogs_headers)                      \
+       $(widgets_headers)
 
 gnumeric_SOURCES =                             \
        io-context-gtk.c                        \
@@ -600,8 +651,7 @@ stamp-local.def: $(libspreadsheet_include_HEADERS) Makefile $(top_srcdir)/tools/
 endif
 
 gnumeric_app_libs =                            \
-       tools/libtools.la                       \
-       widgets/libwidgets.la
+       tools/libtools.la
 
 
 # Rules for the marshalers code:
@@ -673,7 +723,7 @@ uninstall-hook:
 
 # include conditional files to ensure everything gets distributed no matter
 # what the build
-EXTRA_DIST =                                           \
+EXTRA_DIST +=                                          \
        gnm.gresource.xml                               \
        pixmaps/line_pattern_dash_dot.png               \
        pixmaps/line_pattern_dash_dot_dot.png           \
@@ -718,9 +768,7 @@ Gnm_@GNUMERIC_API_VER_@_gir_FILES = \
        tools/scenarios.h \
        tools/gnm-solver.c \
        tools/gnm-solver.h \
-       tools/tools.h \
-       widgets/gnumeric-expr-entry.c \
-       widgets/gnumeric-expr-entry.h
+       tools/tools.h
 
 
 girdir = $(GIRDIR)
diff --git a/src/widgets/.gitignore b/src/widgets/.gitignore
index e440faf..39a0668 100644
--- a/src/widgets/.gitignore
+++ b/src/widgets/.gitignore
@@ -1,3 +1 @@
-Makefile.in
-Makefile
 .deps
diff --git a/src/widgets/gnm-cell-combo-view.c b/src/widgets/gnm-cell-combo-view.c
index e637cff..15766e8 100644
--- a/src/widgets/gnm-cell-combo-view.c
+++ b/src/widgets/gnm-cell-combo-view.c
@@ -452,7 +452,7 @@ gnm_cell_combo_view_popdown (SheetObjectView *sov, guint32 activate_time)
  **/
 SheetObjectView *
 gnm_cell_combo_view_new (SheetObject *so, GType type,
-                            SheetObjectViewContainer *container)
+                        SheetObjectViewContainer *container)
 {
        GnmPane *pane = GNM_PANE (container);
        GtkWidget *view_widget = gtk_button_new ();
diff --git a/src/widgets/gnm-cell-combo-view.h b/src/widgets/gnm-cell-combo-view.h
index 123c16f..b9121b1 100644
--- a/src/widgets/gnm-cell-combo-view.h
+++ b/src/widgets/gnm-cell-combo-view.h
@@ -4,7 +4,7 @@
 #include "gnumeric.h"
 #include <glib-object.h>
 
-SheetObjectView *gnm_cell_combo_view_new        (SheetObject *so, GType t,
+SheetObjectView *gnm_cell_combo_view_new        (SheetObject *so, GType type,
                                                  SheetObjectViewContainer *container);
 void            gnm_cell_combo_view_popdown (SheetObjectView *sov, guint32 activate_time);
 
diff --git a/src/widgets/gnm-dao.c b/src/widgets/gnm-dao.c
index 7acd52f..c2338de 100644
--- a/src/widgets/gnm-dao.c
+++ b/src/widgets/gnm-dao.c
@@ -1,5 +1,4 @@
-/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/**
+/*
  * gnm-dao.c:  Implements a widget to specify tool output location.
  *
  * Copyright (c) 2003 Andreas J. Guelzow <aguelzow taliesin ca>
diff --git a/src/widgets/gnm-dao.h b/src/widgets/gnm-dao.h
index 2725088..c15ec96 100644
--- a/src/widgets/gnm-dao.h
+++ b/src/widgets/gnm-dao.h
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-dao.h:  Implements a widget to specify tool output location.
  *
  * Copyright (c) 2003 Andreas J. Guelzow <aguelzow taliesin ca>
diff --git a/src/widgets/gnm-format-sel.c b/src/widgets/gnm-format-sel.c
index f90c482..7207ed1 100644
--- a/src/widgets/gnm-format-sel.c
+++ b/src/widgets/gnm-format-sel.c
@@ -1,5 +1,4 @@
-/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/**
+/*
  * gnm-format-sel.c: Gnumeric extensions to the format selector widget
  *
  * This program is free software; you can redistribute it and/or modify
@@ -54,6 +53,11 @@ cb_generate_preview (GOFormatSel *gfs, PangoAttrList **attrs)
        }
 }
 
+/**
+ * gnm_format_sel_new:
+ *
+ * Returns: (transfer full): a new format selector
+ */
 GtkWidget *
 gnm_format_sel_new (void)
 {
diff --git a/src/widgets/gnm-format-sel.h b/src/widgets/gnm-format-sel.h
index 576d94c..8090594 100644
--- a/src/widgets/gnm-format-sel.h
+++ b/src/widgets/gnm-format-sel.h
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-format-sel.h: Some gnumeric specific utilities for the format selector
  *
  * Copyright (c) 2005 Jody Goldberg <jody gnome org>
diff --git a/src/widgets/gnm-notebook.c b/src/widgets/gnm-notebook.c
index 57eef78..ccff859 100644
--- a/src/widgets/gnm-notebook.c
+++ b/src/widgets/gnm-notebook.c
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-notebook.c: Implements a button-only notebook.
  *
  * Copyright (c) 2008 Morten Welinder <terra gnome org>
@@ -26,6 +26,16 @@
 
 /* ------------------------------------------------------------------------- */
 
+/**
+ * gnm_notebook_get_nth_label: (skip)
+ */
+
+/**
+ * gnm_notebook_get_current_label: (skip)
+ */
+
+/* ------------------------------------------------------------------------- */
+
 struct GnmNotebookButton_ {
        /*
         * We need to derive from GtkLabel mostly for theming reasons,
diff --git a/src/widgets/gnm-notebook.h b/src/widgets/gnm-notebook.h
index 6fb9743..bc267e1 100644
--- a/src/widgets/gnm-notebook.h
+++ b/src/widgets/gnm-notebook.h
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-notebook.h: Implements a button-only notebook.
  *
  * Copyright (c) 2008 Morten Welinder <terra gnome org>
diff --git a/src/widgets/gnm-radiobutton.c b/src/widgets/gnm-radiobutton.c
index 602f886..dd6a1bf 100644
--- a/src/widgets/gnm-radiobutton.c
+++ b/src/widgets/gnm-radiobutton.c
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-radiobutton.c: Implements a special radiobutton
  *
  * Copyright (c) 2009 Morten Welinder <terra gnome org>
@@ -27,13 +27,18 @@ static void
 gnm_radiobutton_class_init (GnmRadioButtonClass *class)
 {
        GtkButtonClass *button_class = GTK_BUTTON_CLASS (class);
-       GtkWidget *tb = gtk_toggle_button_new ();
 
-       button_class->clicked = GTK_BUTTON_GET_CLASS(tb)->clicked;
+       if (gdk_screen_get_default ()) {
+               GtkWidget *tb = gtk_toggle_button_new ();
 
-       g_object_ref_sink (tb);
-       gtk_widget_destroy (tb);
-       g_object_unref (tb);
+               button_class->clicked = GTK_BUTTON_GET_CLASS(tb)->clicked;
+
+               g_object_ref_sink (tb);
+               gtk_widget_destroy (tb);
+               g_object_unref (tb);
+       } else {
+               // Introspection
+       }
 }
 
 GSF_CLASS (GnmRadioButton, gnm_radiobutton,
diff --git a/src/widgets/gnm-radiobutton.h b/src/widgets/gnm-radiobutton.h
index 518893d..c30be00 100644
--- a/src/widgets/gnm-radiobutton.h
+++ b/src/widgets/gnm-radiobutton.h
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-radiobutton.h: Implements a special radiobutton.
  *
  * Copyright (c) 2009 Morten Welinder <terra gnome org>
diff --git a/src/widgets/gnm-sheet-sel.c b/src/widgets/gnm-sheet-sel.c
index 5b5778d..df91db4 100644
--- a/src/widgets/gnm-sheet-sel.c
+++ b/src/widgets/gnm-sheet-sel.c
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-sheet-sel.c: A selector for sheets.
  *
  * Copyright (c) 2018 Morten Welinder
@@ -43,6 +43,11 @@ enum {
 
 static GOOptionMenuClass *gnm_sheet_sel_parent_class;
 
+/**
+ * gnm_sheet_sel_set_sheet:
+ * @ss: #GnmSheetSel
+ * @sheet: (transfer none): #Sheet
+ */
 void
 gnm_sheet_sel_set_sheet (GnmSheetSel *ss, Sheet *sheet)
 {
@@ -76,6 +81,12 @@ gnm_sheet_sel_set_sheet (GnmSheetSel *ss, Sheet *sheet)
        g_object_notify (G_OBJECT (ss), "sheet");
 }
 
+/**
+ * gnm_sheet_sel_get_sheet:
+ * @ss: #GnmSheetSel
+ *
+ * Returns: (transfer none): Selected #Sheet
+ */
 Sheet *
 gnm_sheet_sel_get_sheet (GnmSheetSel *ss)
 {
@@ -158,6 +169,11 @@ gnm_sheet_sel_new (void)
        return g_object_new (GNM_TYPE_SHEET_SEL, NULL);
 }
 
+/**
+ * gnm_sheet_sel_set_sheets:
+ * @ss: #GnmSheetSel
+ * @sheets: (element-type Sheet) (transfer none): sheets
+ */
 void
 gnm_sheet_sel_set_sheets (GnmSheetSel *ss, GSList *sheets)
 {
diff --git a/src/widgets/gnm-sheet-sel.h b/src/widgets/gnm-sheet-sel.h
index 9dd2627..1db863f 100644
--- a/src/widgets/gnm-sheet-sel.h
+++ b/src/widgets/gnm-sheet-sel.h
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-sheet-sel.h: A selector for sheets.
  *
  * Copyright (c) 2018 Morten Welinder
diff --git a/src/widgets/gnm-workbook-sel.c b/src/widgets/gnm-workbook-sel.c
index 8f336bc..5f5aa40 100644
--- a/src/widgets/gnm-workbook-sel.c
+++ b/src/widgets/gnm-workbook-sel.c
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-workbook-sel.c: A selector for workbooks.
  *
  * Copyright (c) 2018 Morten Welinder
@@ -42,6 +42,11 @@ enum {
 
 static GOOptionMenuClass *gnm_workbook_sel_parent_class;
 
+/**
+ * gnm_workbook_sel_set_workbook:
+ * @wbs: #GnmWorkbookSel
+ * @wb: (transfer none): #Workbook
+ */
 void
 gnm_workbook_sel_set_workbook (GnmWorkbookSel *wbs, Workbook *wb)
 {
@@ -75,6 +80,12 @@ gnm_workbook_sel_set_workbook (GnmWorkbookSel *wbs, Workbook *wb)
        g_object_notify (G_OBJECT (wbs), "workbook");
 }
 
+/**
+ * gnm_workbook_sel_get_workbook:
+ * @wbs: #GnmWorkbookSel
+ *
+ * Returns: (transfer none): Selected workbook
+ */
 Workbook *
 gnm_workbook_sel_get_workbook (GnmWorkbookSel *wbs)
 {
diff --git a/src/widgets/gnm-workbook-sel.h b/src/widgets/gnm-workbook-sel.h
index e7e3338..c84851a 100644
--- a/src/widgets/gnm-workbook-sel.h
+++ b/src/widgets/gnm-workbook-sel.h
@@ -1,4 +1,4 @@
-/**
+/*
  * gnm-workbook-sel.h: A selector for workbooks.
  *
  * Copyright (c) 2018 Morten Welinder
diff --git a/src/widgets/gnumeric-lazy-list.c b/src/widgets/gnumeric-lazy-list.c
index b6b9795..b737b6b 100644
--- a/src/widgets/gnumeric-lazy-list.c
+++ b/src/widgets/gnumeric-lazy-list.c
@@ -252,6 +252,9 @@ gnumeric_lazy_list_get_type (void)
        return lazy_list_type;
 }
 
+/**
+ * gnumeric_lazy_list_new: (skip)
+ */
 GnumericLazyList *
 gnumeric_lazy_list_new (GnumericLazyListValueGetFunc get_value,
                        gpointer user_data,


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