[gtk+] inspector: stop being a module



commit 59c9d24bbf0a0e6c8b4a693d5fc99edac7207843
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed May 14 21:23:44 2014 -0400

    inspector: stop being a module
    
    Moving the inspector into libgtk lets use reuse internals without
    having to add public API for everything or inventing awkward private
    call conventions.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=730095

 configure.ac                                       |    2 +-
 gtk/Makefile.am                                    |    6 +-
 gtk/gtkwindow.c                                    |   19 +---
 gtk/inspector/Makefile.am                          |  106 ++++++++++++++++++++
 {modules => gtk}/inspector/button-path.c           |    0
 {modules => gtk}/inspector/button-path.h           |    0
 {modules => gtk}/inspector/button-path.ui          |    0
 {modules => gtk}/inspector/classes-list.c          |    0
 {modules => gtk}/inspector/classes-list.h          |    0
 {modules => gtk}/inspector/classes-list.ui         |    0
 {modules => gtk}/inspector/css-editor.c            |    0
 {modules => gtk}/inspector/css-editor.h            |    0
 {modules => gtk}/inspector/css-editor.ui           |    0
 {modules => gtk}/inspector/data-list.c             |    0
 {modules => gtk}/inspector/data-list.h             |    0
 {modules => gtk}/inspector/data-list.ui            |    0
 modules/inspector/module.c => gtk/inspector/init.c |    2 +-
 gtk/inspector/init.h                               |   29 ++++++
 {modules => gtk}/inspector/inspect-button.c        |    0
 {modules => gtk}/inspector/inspector.gresource.xml |    0
 {modules => gtk}/inspector/object-hierarchy.c      |    0
 {modules => gtk}/inspector/object-hierarchy.h      |    0
 {modules => gtk}/inspector/object-hierarchy.ui     |    0
 {modules => gtk}/inspector/prop-list.c             |    0
 {modules => gtk}/inspector/prop-list.h             |    0
 {modules => gtk}/inspector/prop-list.ui            |    0
 .../inspector/property-cell-renderer.c             |    0
 .../inspector/property-cell-renderer.h             |    0
 {modules => gtk}/inspector/python-hooks.c          |    0
 {modules => gtk}/inspector/python-hooks.h          |    0
 {modules => gtk}/inspector/python-shell.c          |    0
 {modules => gtk}/inspector/python-shell.h          |    0
 {modules => gtk}/inspector/signals-list.c          |    0
 {modules => gtk}/inspector/signals-list.h          |    0
 {modules => gtk}/inspector/signals-list.ui         |    0
 {modules => gtk}/inspector/themes.c                |    0
 {modules => gtk}/inspector/themes.h                |    0
 {modules => gtk}/inspector/themes.ui               |    0
 {modules => gtk}/inspector/visual.c                |    0
 {modules => gtk}/inspector/visual.h                |    0
 {modules => gtk}/inspector/visual.ui               |    0
 {modules => gtk}/inspector/widget-tree.c           |    0
 {modules => gtk}/inspector/widget-tree.h           |    0
 {modules => gtk}/inspector/widget-tree.ui          |    0
 {modules => gtk}/inspector/window.c                |    0
 {modules => gtk}/inspector/window.h                |    0
 {modules => gtk}/inspector/window.ui               |    0
 modules/Makefile.am                                |    2 +-
 modules/inspector/Makefile.am                      |  102 -------------------
 po/POTFILES.in                                     |   32 +++---
 50 files changed, 162 insertions(+), 138 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 694c9f6..3f06c89 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1887,6 +1887,7 @@ gtk/makefile.msc
 gtk/gtkversion.h
 gtk/gtk-win32.rc
 gtk/a11y/Makefile
+gtk/inspector/Makefile
 gtk/native/Makefile
 libgail-util/Makefile
 modules/Makefile
@@ -1898,7 +1899,6 @@ modules/printbackends/lpr/Makefile
 modules/printbackends/file/Makefile
 modules/printbackends/papi/Makefile
 modules/printbackends/test/Makefile
-modules/inspector/Makefile
 ])
 
 AC_OUTPUT
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 2569122..150c541 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -18,7 +18,7 @@ else
 GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
 endif
 
-SUBDIRS = a11y native .
+SUBDIRS = a11y inspector native .
 
 if HAVE_CLOUDPRINT
 if HAVE_PAPI_CUPS
@@ -117,11 +117,13 @@ libgtkincludedir = $(includedir)/gtk-3.0/gtk
 libadd = \
        $(top_builddir)/gdk/libgdk-3.la \
        $(top_builddir)/gtk/a11y/libgtka11y.la \
+       $(top_builddir)/gtk/inspector/libgtkinspector.la \
        $(GMODULE_LIBS) \
        $(GTK_DEP_LIBS)
 deps = \
        $(top_builddir)/gdk/libgdk-3.la \
-       $(top_builddir)/gtk/a11y/libgtka11y.la
+       $(top_builddir)/gtk/a11y/libgtka11y.la \
+       $(top_builddir)/gtk/inspector/libgtkinspector.la
 
 # libtool stuff: set version and export symbols for resolving
 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 071c37e..80e96d8 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -59,7 +59,8 @@
 #include "a11y/gtkwindowaccessible.h"
 #include "a11y/gtkcontaineraccessibleprivate.h"
 #include "gtkapplicationprivate.h"
-#include "gtkmodulesprivate.h"
+#include "inspector/init.h"
+#include "inspector/window.h"
 
 #ifdef GDK_WINDOWING_X11
 #include "x11/gdkx.h"
@@ -12445,22 +12446,10 @@ static GtkWidget *inspector_window = NULL;
 void
 gtk_window_set_interactive_debugging (gboolean enable)
 {
-  static GType type = G_TYPE_NONE;
-
-  if (type == G_TYPE_NONE)
-    {
-      _gtk_modules_load_module ("gtkinspector");
-      type = g_type_from_name ("GtkInspectorWindow");
-      if (type == G_TYPE_INVALID)
-        g_warning ("Failed to load GtkInspector module, debugging not available.");
-    }
-
-  if (!g_type_is_a (type, GTK_TYPE_WINDOW))
-    return;
-
   if (inspector_window == NULL)
     {
-      inspector_window = GTK_WIDGET (g_object_new (type, NULL));
+      gtk_inspector_init ();
+      inspector_window = gtk_inspector_window_new ();
       g_signal_connect (inspector_window, "delete-event",
                         G_CALLBACK (gtk_widget_hide_on_delete), NULL);
     }
diff --git a/gtk/inspector/Makefile.am b/gtk/inspector/Makefile.am
new file mode 100644
index 0000000..4ca2cdd
--- /dev/null
+++ b/gtk/inspector/Makefile.am
@@ -0,0 +1,106 @@
+include $(top_srcdir)/Makefile.decl
+
+noinst_LTLIBRARIES = libgtkinspector.la
+
+resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies 
$(srcdir)/inspector.gresource.xml)
+resources.h: inspector.gresource.xml
+       $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/inspector.gresource.xml \
+               --target=$@ --sourcedir=$(srcdir) --c-name gtk_inspector --generate-header --manual-register
+resources.c: inspector.gresource.xml $(resource_files) $(template_headers)
+       $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/inspector.gresource.xml \
+               --target=$@ --sourcedir=$(srcdir) --c-name gtk_inspector --generate-source --manual-register
+
+BUILT_SOURCES =                        \
+       resources.h                     \
+       resources.c
+
+libgtkinspector_la_SOURCES =           \
+       button-path.h                   \
+       button-path.c                   \
+       classes-list.h                  \
+       classes-list.c                  \
+       css-editor.h                    \
+       css-editor.c                    \
+       data-list.h                     \
+       data-list.c                     \
+       init.h                          \
+       init.c                          \
+       inspect-button.c                \
+       object-hierarchy.h              \
+       object-hierarchy.c              \
+       prop-list.h                     \
+       prop-list.c                     \
+       property-cell-renderer.h        \
+       property-cell-renderer.c        \
+       python-hooks.h                  \
+       python-hooks.c                  \
+       python-shell.h                  \
+       python-shell.c                  \
+       resources.h                     \
+       resources.c                     \
+       signals-list.h                  \
+       signals-list.c                  \
+       themes.h                        \
+       themes.c                        \
+       visual.h                        \
+       visual.c                        \
+       widget-tree.h                   \
+       widget-tree.c                   \
+       window.h                        \
+       window.c
+
+libgtkinspector_la_CPPFLAGS =          \
+       -I$(top_srcdir)                 \
+       -I$(top_srcdir)/gtk             \
+       -I$(top_builddir)/gtk           \
+       -I$(top_srcdir)/gdk             \
+       -I$(top_builddir)/gdk           \
+       -DGTK_VERSION=\"$(GTK_VERSION)\"\
+       -DGTK_DATADIR=\"$(datadir)\"    \
+       -DGTK_COMPILATION               \
+       $(AM_CPPFLAGS)
+
+libgtkinspector_la_CFLAGS =            \
+       $(GDK_HIDDEN_VISIBILITY_CFLAGS) \
+       $(GTK_DEP_CFLAGS)               \
+       $(GTK_DEBUG_FLAGS)              \
+       $(AM_CFLAGS)
+
+libgtkinspector_la_LIBADD =            \
+       $(GTK_DEP_LIBS)                 \
+       $(INTLLIBS)
+
+libgtkinspector_la_LDFLAGS =           \
+       $(LDFLAGS)
+
+templates =                            \
+       button-path.ui                  \
+       classes-list.ui                 \
+       css-editor.ui                   \
+       data-list.ui                    \
+       object-hierarchy.ui             \
+       prop-list.ui                    \
+       signals-list.ui                 \
+       themes.ui                       \
+       visual.ui                       \
+       widget-tree.ui                  \
+       window.ui
+
+template_headers = $(templates:.ui=.ui.h)
+
+extract_strings = $(top_builddir)/gtk/extract-strings$(BUILD_EXEEXT)
+
+%.ui.h: %.ui $(extract_strings)
+       $(AM_V_GEN) $(extract_strings) $< > $@
+
+distclean-local:
+       if test $(srcdir) != .; then    \
+         rm -f $(template_headers);    \
+       fi
+
+EXTRA_DIST +=                          \
+       inspector.gresource.xml         \
+       $(resource_files)               \
+       $(templates)
+
+-include $(top_srcdir)/git.mk
diff --git a/modules/inspector/button-path.c b/gtk/inspector/button-path.c
similarity index 100%
rename from modules/inspector/button-path.c
rename to gtk/inspector/button-path.c
diff --git a/modules/inspector/button-path.h b/gtk/inspector/button-path.h
similarity index 100%
rename from modules/inspector/button-path.h
rename to gtk/inspector/button-path.h
diff --git a/modules/inspector/button-path.ui b/gtk/inspector/button-path.ui
similarity index 100%
rename from modules/inspector/button-path.ui
rename to gtk/inspector/button-path.ui
diff --git a/modules/inspector/classes-list.c b/gtk/inspector/classes-list.c
similarity index 100%
rename from modules/inspector/classes-list.c
rename to gtk/inspector/classes-list.c
diff --git a/modules/inspector/classes-list.h b/gtk/inspector/classes-list.h
similarity index 100%
rename from modules/inspector/classes-list.h
rename to gtk/inspector/classes-list.h
diff --git a/modules/inspector/classes-list.ui b/gtk/inspector/classes-list.ui
similarity index 100%
rename from modules/inspector/classes-list.ui
rename to gtk/inspector/classes-list.ui
diff --git a/modules/inspector/css-editor.c b/gtk/inspector/css-editor.c
similarity index 100%
rename from modules/inspector/css-editor.c
rename to gtk/inspector/css-editor.c
diff --git a/modules/inspector/css-editor.h b/gtk/inspector/css-editor.h
similarity index 100%
rename from modules/inspector/css-editor.h
rename to gtk/inspector/css-editor.h
diff --git a/modules/inspector/css-editor.ui b/gtk/inspector/css-editor.ui
similarity index 100%
rename from modules/inspector/css-editor.ui
rename to gtk/inspector/css-editor.ui
diff --git a/modules/inspector/data-list.c b/gtk/inspector/data-list.c
similarity index 100%
rename from modules/inspector/data-list.c
rename to gtk/inspector/data-list.c
diff --git a/modules/inspector/data-list.h b/gtk/inspector/data-list.h
similarity index 100%
rename from modules/inspector/data-list.h
rename to gtk/inspector/data-list.h
diff --git a/modules/inspector/data-list.ui b/gtk/inspector/data-list.ui
similarity index 100%
rename from modules/inspector/data-list.ui
rename to gtk/inspector/data-list.ui
diff --git a/modules/inspector/module.c b/gtk/inspector/init.c
similarity index 98%
rename from modules/inspector/module.c
rename to gtk/inspector/init.c
index 1082ded..528e0eb 100644
--- a/modules/inspector/module.c
+++ b/gtk/inspector/init.c
@@ -39,7 +39,7 @@
 #include "window.h"
 
 void
-gtk_module_init (gint *argc, gchar ***argv)
+gtk_inspector_init (void)
 {
 #ifdef ENABLE_PYTHON
   gtk_inspector_python_init ();
diff --git a/gtk/inspector/init.h b/gtk/inspector/init.h
new file mode 100644
index 0000000..7fe6745
--- /dev/null
+++ b/gtk/inspector/init.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _GTK_INSPECTOR_INIT_H_
+#define _GTK_INSPECTOR_INIT_H_
+
+G_BEGIN_DECLS
+
+void gtk_inspector_init (void);
+
+G_END_DECLS
+
+#endif // _GTK_INSPECTOR_INIT_H_
+
+// vim: set et sw=2 ts=2:
diff --git a/modules/inspector/inspect-button.c b/gtk/inspector/inspect-button.c
similarity index 100%
rename from modules/inspector/inspect-button.c
rename to gtk/inspector/inspect-button.c
diff --git a/modules/inspector/inspector.gresource.xml b/gtk/inspector/inspector.gresource.xml
similarity index 100%
rename from modules/inspector/inspector.gresource.xml
rename to gtk/inspector/inspector.gresource.xml
diff --git a/modules/inspector/object-hierarchy.c b/gtk/inspector/object-hierarchy.c
similarity index 100%
rename from modules/inspector/object-hierarchy.c
rename to gtk/inspector/object-hierarchy.c
diff --git a/modules/inspector/object-hierarchy.h b/gtk/inspector/object-hierarchy.h
similarity index 100%
rename from modules/inspector/object-hierarchy.h
rename to gtk/inspector/object-hierarchy.h
diff --git a/modules/inspector/object-hierarchy.ui b/gtk/inspector/object-hierarchy.ui
similarity index 100%
rename from modules/inspector/object-hierarchy.ui
rename to gtk/inspector/object-hierarchy.ui
diff --git a/modules/inspector/prop-list.c b/gtk/inspector/prop-list.c
similarity index 100%
rename from modules/inspector/prop-list.c
rename to gtk/inspector/prop-list.c
diff --git a/modules/inspector/prop-list.h b/gtk/inspector/prop-list.h
similarity index 100%
rename from modules/inspector/prop-list.h
rename to gtk/inspector/prop-list.h
diff --git a/modules/inspector/prop-list.ui b/gtk/inspector/prop-list.ui
similarity index 100%
rename from modules/inspector/prop-list.ui
rename to gtk/inspector/prop-list.ui
diff --git a/modules/inspector/property-cell-renderer.c b/gtk/inspector/property-cell-renderer.c
similarity index 100%
rename from modules/inspector/property-cell-renderer.c
rename to gtk/inspector/property-cell-renderer.c
diff --git a/modules/inspector/property-cell-renderer.h b/gtk/inspector/property-cell-renderer.h
similarity index 100%
rename from modules/inspector/property-cell-renderer.h
rename to gtk/inspector/property-cell-renderer.h
diff --git a/modules/inspector/python-hooks.c b/gtk/inspector/python-hooks.c
similarity index 100%
rename from modules/inspector/python-hooks.c
rename to gtk/inspector/python-hooks.c
diff --git a/modules/inspector/python-hooks.h b/gtk/inspector/python-hooks.h
similarity index 100%
rename from modules/inspector/python-hooks.h
rename to gtk/inspector/python-hooks.h
diff --git a/modules/inspector/python-shell.c b/gtk/inspector/python-shell.c
similarity index 100%
rename from modules/inspector/python-shell.c
rename to gtk/inspector/python-shell.c
diff --git a/modules/inspector/python-shell.h b/gtk/inspector/python-shell.h
similarity index 100%
rename from modules/inspector/python-shell.h
rename to gtk/inspector/python-shell.h
diff --git a/modules/inspector/signals-list.c b/gtk/inspector/signals-list.c
similarity index 100%
rename from modules/inspector/signals-list.c
rename to gtk/inspector/signals-list.c
diff --git a/modules/inspector/signals-list.h b/gtk/inspector/signals-list.h
similarity index 100%
rename from modules/inspector/signals-list.h
rename to gtk/inspector/signals-list.h
diff --git a/modules/inspector/signals-list.ui b/gtk/inspector/signals-list.ui
similarity index 100%
rename from modules/inspector/signals-list.ui
rename to gtk/inspector/signals-list.ui
diff --git a/modules/inspector/themes.c b/gtk/inspector/themes.c
similarity index 100%
rename from modules/inspector/themes.c
rename to gtk/inspector/themes.c
diff --git a/modules/inspector/themes.h b/gtk/inspector/themes.h
similarity index 100%
rename from modules/inspector/themes.h
rename to gtk/inspector/themes.h
diff --git a/modules/inspector/themes.ui b/gtk/inspector/themes.ui
similarity index 100%
rename from modules/inspector/themes.ui
rename to gtk/inspector/themes.ui
diff --git a/modules/inspector/visual.c b/gtk/inspector/visual.c
similarity index 100%
rename from modules/inspector/visual.c
rename to gtk/inspector/visual.c
diff --git a/modules/inspector/visual.h b/gtk/inspector/visual.h
similarity index 100%
rename from modules/inspector/visual.h
rename to gtk/inspector/visual.h
diff --git a/modules/inspector/visual.ui b/gtk/inspector/visual.ui
similarity index 100%
rename from modules/inspector/visual.ui
rename to gtk/inspector/visual.ui
diff --git a/modules/inspector/widget-tree.c b/gtk/inspector/widget-tree.c
similarity index 100%
rename from modules/inspector/widget-tree.c
rename to gtk/inspector/widget-tree.c
diff --git a/modules/inspector/widget-tree.h b/gtk/inspector/widget-tree.h
similarity index 100%
rename from modules/inspector/widget-tree.h
rename to gtk/inspector/widget-tree.h
diff --git a/modules/inspector/widget-tree.ui b/gtk/inspector/widget-tree.ui
similarity index 100%
rename from modules/inspector/widget-tree.ui
rename to gtk/inspector/widget-tree.ui
diff --git a/modules/inspector/window.c b/gtk/inspector/window.c
similarity index 100%
rename from modules/inspector/window.c
rename to gtk/inspector/window.c
diff --git a/modules/inspector/window.h b/gtk/inspector/window.h
similarity index 100%
rename from modules/inspector/window.h
rename to gtk/inspector/window.h
diff --git a/modules/inspector/window.ui b/gtk/inspector/window.ui
similarity index 100%
rename from modules/inspector/window.ui
rename to gtk/inspector/window.ui
diff --git a/modules/Makefile.am b/modules/Makefile.am
index f0649d1..f8e7bb8 100644
--- a/modules/Makefile.am
+++ b/modules/Makefile.am
@@ -1,6 +1,6 @@
 include $(top_srcdir)/Makefile.decl
 
-SUBDIRS = input inspector
+SUBDIRS = input
 
 if OS_UNIX
 SUBDIRS += printbackends
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 7e2b262..3e33f4e 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -268,6 +268,22 @@ gtk/gtkviewport.c
 gtk/gtkvolumebutton.c
 gtk/gtkwidget.c
 gtk/gtkwindow.c
+gtk/inspector/button-path.ui.h
+gtk/inspector/classes-list.c
+gtk/inspector/classes-list.ui.h
+gtk/inspector/css-editor.c
+gtk/inspector/css-editor.ui.h
+gtk/inspector/data-list.ui.h
+gtk/inspector/inspect-button.c
+gtk/inspector/object-hierarchy.ui.h
+gtk/inspector/prop-list.ui.h
+gtk/inspector/signals-list.c
+gtk/inspector/signals-list.ui.h
+gtk/inspector/themes.ui.h
+gtk/inspector/visual.ui.h
+gtk/inspector/widget-tree.ui.h
+gtk/inspector/window.c
+gtk/inspector/window.ui.h
 gtk/paper_names_offsets.c
 gtk/updateiconcache.c
 modules/input/gtkimcontextxim.c
@@ -282,22 +298,6 @@ modules/input/imti-er.c
 modules/input/imti-et.c
 modules/input/imviqr.c
 modules/input/imxim.c
-modules/inspector/button-path.ui.h
-modules/inspector/classes-list.c
-modules/inspector/classes-list.ui.h
-modules/inspector/css-editor.c
-modules/inspector/css-editor.ui.h
-modules/inspector/data-list.ui.h
-modules/inspector/inspect-button.c
-modules/inspector/object-hierarchy.ui.h
-modules/inspector/prop-list.ui.h
-modules/inspector/signals-list.c
-modules/inspector/signals-list.ui.h
-modules/inspector/themes.ui.h
-modules/inspector/visual.ui.h
-modules/inspector/widget-tree.ui.h
-modules/inspector/window.c
-modules/inspector/window.ui.h
 modules/printbackends/cloudprint/gtkprintbackendcloudprint.c
 modules/printbackends/cloudprint/gtkprintercloudprint.c
 modules/printbackends/cups/gtkprintbackendcups.c


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