GTK+ modularization



This has been discussed a bit at Guadec; and I have started looking into
what it would take to allow compiling GTK+ with certain subsets of
widgets. 

My current patch defines a small number of optional subsets:

* broken: widgets covered by GTK_ENABLE_BROKEN
* deprecated: widgets covered by GTK_DISABLE_DEPRECATED
* specialized: some widgets which turned out to be too specialized to be
of general use; e.g. GtkCurve, GtkAspectFrame, GtkRuler
* printing: the new printing support in 2.10
* recent: the new recent files support in 2.10

Omitting all optional subsets yields a 16% smaller libgtk-x11-2.0.so,
omitting only broken, deprecated and specialized still comes up 10%
smaller - I'm not entirely convinced that these numbers justify the
effort...

There is a number of issues with the patch
- specialized currently has a dependency on deprecated, since
GtkInputDialog uses GtkOptionMenu. Replacing them with GtkComboBox is
somewhat risky, since the GtkInputDialog struct exposes members pointing
to the option menus (although they are not marked as public).
- it turns out that we never deprecated the old file selector, at 
 it is not protected by GTK_DISABLE_DEPRECATED.
- the "specialized" subset is somewhat weakly defined.
- the patch adds gtkconfig.h which has defines for the included subsets.
I don't think we need runtime checks for included subsets, since a
missing subset will almost always prevent successful linking anyway.
But maybe the .pc should have some variables that can be used to check
for subsets.
- The docs need to be updated to explain the subsets, and tell for
each widget in which subset it belongs.

Comments ?


? gtk/actual-abi
? gtk/expected-abi
? gtk/gtkconfig.h
? gtk/size-none
? gtk/size-specialized
Index: configure.in
===================================================================
RCS file: /cvs/gnome/gtk+/configure.in,v
retrieving revision 1.502
diff -u -r1.502 configure.in
--- configure.in	5 Jun 2006 20:32:16 -0000	1.502
+++ configure.in	11 Jul 2006 06:08:42 -0000
@@ -268,6 +268,74 @@
 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
 
 			
+#
+# Allow building subsets of widgets
+#
+AC_MSG_CHECKING(subsets to include)
+AC_ARG_WITH(included_subsets,
+[  --with-included-subsets=SUBSET1,SUBSET2,...
+                          include the specified widgets into GTK+],,
+                          with_included_subsets=yes)
+
+all_subsets="broken,deprecated,specialized,printing,recent"
+included_subsets=""
+
+# If no subsets specified, include all
+if test "x$with_included_subsets" = xyes ; then
+  included_subsets="$all_subsets"
+else
+  included_subsets="$with_included_subsets"
+fi
+
+AC_MSG_RESULT($included_subsets)
+
+IFS="${IFS=     }"; gtk_save_ifs="$IFS"; IFS=","
+for subset in $included_subsets ; do
+ if echo "$all_subsets" | egrep "(^|,)$subset(\$|,)" > /dev/null ; then
+   :
+ else
+   AC_MSG_ERROR([the specified subset $subset does not exist])
+ fi
+done
+IFS="$gtk_save_ifs"
+
+if echo "$included_subsets" | egrep "(^|,)broken(\$|,)" > /dev/null ; then
+  include_broken_subset=yes
+else
+  include_broken_subset=no
+fi
+
+if echo "$included_subsets" | egrep "(^|,)deprecated(\$|,)" > /dev/null ; then
+  include_deprecated_subset=yes
+else
+  include_deprecated_subset=no
+fi
+
+if echo "$included_subsets" | egrep "(^|,)specialized(\$|,)" > /dev/null ; then
+  include_specialized_subset=yes
+  include_deprecated_subset=yes
+else
+  include_specialized_subset=no
+fi
+
+if echo "$included_subsets" | egrep "(^|,)printing(\$|,)" > /dev/null ; then
+  include_printing_subset=yes
+else
+  include_printing_subset=no
+fi
+
+if echo "$included_subsets" | egrep "(^|,)recent(\$|,)" > /dev/null ; then
+  include_recent_subset=yes
+else
+  include_recent_subset=no
+fi
+
+AM_CONDITIONAL(INCLUDE_BROKEN_SUBSET, test "x$include_broken_subset" = xyes)
+AM_CONDITIONAL(INCLUDE_DEPRECATED_SUBSET, test "x$include_deprecated_subset" = xyes)
+AM_CONDITIONAL(INCLUDE_SPECIALIZED_SUBSET, test "x$include_specialized_subset" = xyes)
+AM_CONDITIONAL(INCLUDE_PRINTING_SUBSET, test "x$include_printing_subset" = xyes)
+AM_CONDITIONAL(INCLUDE_RECENT_SUBSET, test "x$include_recent_subset" = xyes)
+
 # Build time sanity check...
 AM_SANITY_CHECK
 
@@ -1696,6 +1764,78 @@
 
 
 ])
+AC_CONFIG_COMMANDS([gtk/gtkconfig.h], [ 
+      outfile=gtkconfig.h-tmp
+      cat > $outfile <<_______EOF
+/* gtkconfig.h
+ *
+ * This is a generated file.  Please modify 'configure.in'
+ */
+
+#ifndef __GTK_CONFIG_H__ 
+#define __GTK_CONFIG_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+$gtk_has_broken_subset
+$gtk_has_deprecated_subset
+$gtk_has_specialized_subset
+$gtk_has_printing_subset
+$gtk_has_recent_subset
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif  /* __GTK_CONFIG_H__ */
+_______EOF
+
+      if cmp -s $outfile gtk/gtkconfig.h; then
+        AC_MSG_NOTICE([gtk/gtkconfig.h is unchanged])
+        rm -f $outfile
+      else
+        mv $outfile gtk/gtkconfig.h
+      fi
+],[
+if test "x$include_broken_subset" = xyes ; then
+      gtk_has_broken_subset='
+#define GTK_HAS_BROKEN_SUBSET 1'
+else
+      gtk_has_broken_subset='
+#undef GTK_HAS_BROKEN_SUBSET'
+fi
+if test "x$include_deprecated_subset" = xyes ; then
+      gtk_has_deprecated_subset='
+#define GTK_HAS_DEPRECATED_SUBSET 1'
+else
+      gtk_has_deprecated_subset='
+#undef GTK_HAS_DEPRECATED_SUBSET'
+fi
+if test "x$include_specialized_subset" = xyes ; then
+      gtk_has_specialized_subset='
+#define GTK_HAS_SPECIALIZED_SUBSET 1'
+else
+      gtk_has_specialized_subset='
+#undef GTK_HAS_SPECIALIZED_SUBSET'
+fi
+if test "x$include_printing_subset" = xyes ; then
+      gtk_has_printing_subset='
+#define GTK_HAS_PRINTING_SUBSET 1'
+else
+      gtk_has_printing_subset='
+#undef GTK_HAS_PRINTING_SUBSET'
+fi
+if test "x$include_recent_subset" = xyes ; then
+      gtk_has_recent_subset='
+#define GTK_HAS_RECENT_SUBSET 1'
+else
+      gtk_has_recent_subset='
+#undef GTK_HAS_RECENT_SUBSET'
+fi
+
+])
 
 AC_CONFIG_FILES([
 config.h.win32
@@ -1764,7 +1904,13 @@
 AC_OUTPUT
 
 echo "configuration:
-        target: $gdktarget"
+        target:        $gdktarget
+        subsets:
+          broken:      $include_broken_subset 
+          deprecated:  $include_deprecated_subset 
+          specialized: $include_specialized_subset 
+          printing:    $include_printing_subset 
+          recent:      $include_recent_subset" 
 
 if test "x$gdktarget" = "xlinux-fb"; then
   echo "Warning: The linux-fb GDK target is unmaintained"
Index: gtk/Makefile.am
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/Makefile.am,v
retrieving revision 1.309
diff -u -r1.309 Makefile.am
--- gtk/Makefile.am	2 Jun 2006 15:16:12 -0000	1.309
+++ gtk/Makefile.am	11 Jul 2006 06:08:42 -0000
@@ -131,7 +131,6 @@
 	gtkadjustment.h		\
 	gtkalignment.h		\
 	gtkarrow.h		\
-	gtkaspectframe.h	\
 	gtkassistant.h		\
 	gtkbbox.h		\
 	gtkbin.h		\
@@ -153,16 +152,12 @@
 	gtkcheckbutton.h	\
 	gtkcheckmenuitem.h	\
 	gtkclipboard.h		\
-	gtkclist.h		\
 	gtkcolorbutton.h	\
 	gtkcolorsel.h		\
 	gtkcolorseldialog.h	\
-	gtkcombo.h		\
 	gtkcombobox.h		\
 	gtkcomboboxentry.h	\
 	gtkcontainer.h		\
-	gtkctree.h		\
-	gtkcurve.h		\
 	gtkdebug.h              \
 	gtkdialog.h		\
 	gtkdnd.h		\
@@ -178,18 +173,15 @@
 	gtkfilechooserdialog.h  \
 	gtkfilechooserwidget.h  \
 	gtkfilefilter.h		\
-	gtkfilesel.h		\
 	gtkfixed.h		\
 	gtkfontbutton.h		\
 	gtkfontsel.h		\
 	gtkframe.h		\
-	gtkgamma.h		\
 	gtkgc.h			\
 	gtkhandlebox.h		\
 	gtkhbbox.h		\
 	gtkhbox.h		\
 	gtkhpaned.h		\
-	gtkhruler.h		\
 	gtkhscale.h		\
 	gtkhscrollbar.h		\
 	gtkhseparator.h		\
@@ -202,15 +194,11 @@
 	gtkimcontextsimple.h	\
 	gtkimmodule.h		\
 	gtkimmulticontext.h	\
-	gtkinputdialog.h	\
 	gtkinvisible.h		\
 	gtkitem.h		\
-	gtkitemfactory.h	\
 	gtklabel.h		\
 	gtklayout.h             \
 	gtklinkbutton.h		\
-	gtklist.h		\
-	gtklistitem.h		\
 	gtkliststore.h		\
 	gtkmain.h		\
 	gtkmenu.h		\
@@ -223,18 +211,8 @@
 	gtkmodules.h		\
 	gtknotebook.h		\
 	gtkobject.h		\
-	gtkoldeditable.h	\
-	gtkoptionmenu.h		\
-	gtkpagesetup.h		\
 	gtkpaned.h		\
-	gtkpapersize.h		\
-	gtkpixmap.h		\
 	gtkplug.h		\
-	gtkpreview.h		\
-	gtkprintcontext.h	\
-	gtkprintoperation.h	\
-	gtkprintoperationpreview.h	\
-	gtkprintsettings.h	\
 	gtkprivate.h		\
 	gtkprogress.h		\
 	gtkprogressbar.h	\
@@ -244,13 +222,6 @@
 	gtkradiotoolbutton.h	\
 	gtkrange.h		\
 	gtkrc.h			\
-	gtkrecentchooser.h 	\
-	gtkrecentchooserdialog.h \
-	gtkrecentchoosermenu.h 	\
-	gtkrecentchooserwidget.h \
-	gtkrecentfilter.h 	\
-	gtkrecentmanager.h 	\
-	gtkruler.h		\
 	gtkscale.h		\
 	gtkscrollbar.h		\
 	gtkscrolledwindow.h	\
@@ -269,7 +240,6 @@
 	gtkstyle.h		\
 	gtktable.h		\
 	gtktearoffmenuitem.h    \
-	gtktext.h		\
 	gtktextbuffer.h		\
 	gtktextbufferrichtext.h	\
 	gtktextchild.h		\
@@ -287,9 +257,7 @@
 	gtktoolbutton.h		\
 	gtktoolitem.h		\
 	gtktooltips.h		\
-	gtktree.h		\
 	gtktreednd.h		\
-	gtktreeitem.h		\
 	gtktreemodel.h		\
 	gtktreemodelfilter.h	\
 	gtktreemodelsort.h	\
@@ -304,14 +272,66 @@
 	gtkvbox.h		\
 	gtkviewport.h		\
 	gtkvpaned.h		\
-	gtkvruler.h		\
 	gtkvscale.h		\
 	gtkvscrollbar.h		\
 	gtkvseparator.h		\
 	gtkwidget.h		\
 	gtkwindow.h
 
-gtk_unix_print_public_h_sources =    \
+if INCLUDE_BROKEN_SUBSET
+gtk_public_h_sources += 	\
+	gtktext.h		\
+	gtktree.h		\
+	gtktreeitem.h
+endif
+
+if INCLUDE_DEPRECATED_SUBSET
+gtk_public_h_sources +=		\
+	gtkclist.h		\
+	gtkcombo.h		\
+	gtkctree.h		\
+	gtkfilesel.h		\
+	gtkitemfactory.h	\
+	gtklist.h		\
+	gtklistitem.h		\
+	gtkoldeditable.h	\
+	gtkoptionmenu.h		\
+	gtkpixmap.h		\
+	gtkpreview.h
+endif
+
+if INCLUDE_SPECIALIZED_SUBSET
+gtk_public_h_sources +=		\
+	gtkaspectframe.h	\
+	gtkcurve.h		\
+	gtkgamma.h		\
+	gtkhruler.h		\
+	gtkinputdialog.h	\
+	gtkruler.h		\
+	gtkvruler.h
+endif
+
+if INCLUDE_RECENT_SUBSET
+gtk_public_h_sources +=			\
+	gtkrecentchooser.h 		\
+	gtkrecentchooserdialog.h	\
+	gtkrecentchoosermenu.h 		\
+	gtkrecentchooserwidget.h	\
+	gtkrecentfilter.h 		\
+	gtkrecentmanager.h
+endif
+
+if INCLUDE_PRINTING_SUBSET
+gtk_public_h_sources +=			\
+	gtkpagesetup.h			\
+	gtkpapersize.h			\
+	gtkprintcontext.h		\
+	gtkprintoperation.h		\
+	gtkprintoperationpreview.h	\
+	gtkprintsettings.h
+endif
+
+gtk_unix_print_public_h_sources =    	\
 	gtkpagesetupunixdialog.h	\
 	gtkprintunixdialog.h		\
 	gtkprinter.h			\
@@ -374,7 +394,6 @@
 	gtkadjustment.c		\
 	gtkalignment.c		\
 	gtkarrow.c		\
-	gtkaspectframe.c	\
 	gtkassistant.c		\
 	gtkbbox.c		\
 	gtkbin.c		\
@@ -395,16 +414,12 @@
 	gtkcellview.c		\
 	gtkcheckbutton.c	\
 	gtkcheckmenuitem.c	\
-	gtkclist.c		\
 	gtkcolorbutton.c	\
 	gtkcolorsel.c		\
 	gtkcolorseldialog.c	\
-	gtkcombo.c		\
 	gtkcombobox.c		\
 	gtkcomboboxentry.c	\
 	gtkcontainer.c		\
-	gtkctree.c		\
-	gtkcurve.c		\
 	gtkdialog.c		\
 	gtkdrawingarea.c	\
 	gtkeditable.c           \
@@ -422,20 +437,17 @@
 	gtkfilechooserutils.c	\
 	gtkfilechooserwidget.c	\
 	gtkfilefilter.c		\
-	gtkfilesel.c		\
 	gtkfilesystem.c		\
 	gtkfilesystemmodel.c	\
 	gtkfixed.c		\
 	gtkfontbutton.c         \
 	gtkfontsel.c            \
 	gtkframe.c		\
-	gtkgamma.c		\
 	gtkgc.c			\
 	gtkhandlebox.c		\
 	gtkhbbox.c		\
 	gtkhbox.c		\
 	gtkhpaned.c		\
-	gtkhruler.c		\
 	gtkhscale.c		\
 	gtkhscrollbar.c		\
 	gtkhseparator.c		\
@@ -451,18 +463,14 @@
 	gtkimcontextsimple.c	\
 	gtkimmodule.c		\
 	gtkimmulticontext.c	\
-	gtkinputdialog.c	\
 	gtkintl.h		\
 	gtkinvisible.c		\
 	gtkitem.c		\
-	gtkitemfactory.c	\
 	gtkkeyhash.c		\
 	gtkkeyhash.h		\
 	gtklabel.c		\
 	gtklayout.c		\
 	gtklinkbutton.c		\
-	gtklist.c		\
-	gtklistitem.c		\
 	gtkliststore.c		\
 	gtkmain.c		\
 	gtkmarshal.c		\
@@ -479,20 +487,9 @@
 	gtkmodules.c		\
 	gtknotebook.c		\
 	gtkobject.c		\
-	gtkoldeditable.c	\
-	gtkoptionmenu.c		\
-	gtkpagesetup.c		\
 	gtkpaned.c		\
-	gtkpapersize.c		\
 	gtkpathbar.c		\
-	gtkpixmap.c		\
 	gtkplug.c		\
-	gtkpreview.c		\
-	gtkprintcontext.c	\
-	gtkprintoperation.c	\
-	gtkprintoperationpreview.c	\
-	gtkprintsettings.c	\
-	gtkprintutils.c		\
 	gtkprogress.c		\
 	gtkprogressbar.c	\
 	gtkradioaction.c	\
@@ -502,15 +499,6 @@
 	gtkrange.c		\
 	gtkrbtree.c 		\
 	gtkrc.c			\
-	gtkrecentchooserdefault.c \
-	gtkrecentchooserdialog.c \
-	gtkrecentchoosermenu.c 	\
-	gtkrecentchooserwidget.c \
-	gtkrecentchooserutils.c \
-	gtkrecentchooser.c 	\
-	gtkrecentfilter.c 	\
-	gtkrecentmanager.c 	\
-	gtkruler.c		\
 	gtkscale.c		\
 	gtkscrollbar.c		\
 	gtkscrolledwindow.c	\
@@ -530,7 +518,6 @@
 	gtkstyle.c		\
 	gtktable.c		\
 	gtktearoffmenuitem.c    \
-	gtktext.c		\
 	gtktextbtree.c		\
 	gtktextbuffer.c		\
 	gtktextbufferrichtext.c	\
@@ -558,10 +545,8 @@
 	gtktoolbutton.c		\
 	gtktoolitem.c		\
 	gtktooltips.c		\
-	gtktree.c		\
 	gtktreedatalist.c	\
 	gtktreednd.c		\
-	gtktreeitem.c		\
 	gtktreemodel.c		\
 	gtktreemodelfilter.c	\
 	gtktreemodelsort.c	\
@@ -577,7 +562,6 @@
 	gtkvbox.c		\
 	gtkviewport.c		\
 	gtkvpaned.c		\
-	gtkvruler.c		\
 	gtkvscale.c		\
 	gtkvscrollbar.c		\
 	gtkvseparator.c		\
@@ -587,6 +571,62 @@
 	xembed.h		\
 	$(gtk_clipboard_dnd_c_sources)
 
+if INCLUDE_BROKEN_SUBSET
+gtk_c_sources +=		\
+	gtktext.c		\
+	gtktree.c		\
+	gtktreeitem.c
+endif
+
+if INCLUDE_DEPRECATED_SUBSET
+gtk_c_sources +=		\
+	gtkclist.c		\
+	gtkcombo.c		\
+	gtkctree.c		\
+	gtkfilesel.c		\
+	gtkitemfactory.c	\
+	gtklist.c		\
+	gtklistitem.c		\
+	gtkoldeditable.c	\
+	gtkoptionmenu.c		\
+	gtkpixmap.c		\
+	gtkpreview.c
+endif
+
+if INCLUDE_SPECIALIZED_SUBSET
+gtk_c_sources +=		\
+	gtkaspectframe.c	\
+	gtkcurve.c		\
+	gtkgamma.c		\
+	gtkhruler.c		\
+	gtkinputdialog.c	\
+	gtkruler.c		\
+	gtkvruler.c
+endif
+
+if INCLUDE_RECENT_SUBSET
+gtk_c_sources +=			\
+	gtkrecentchooserdefault.c	\
+	gtkrecentchooserdialog.c	\
+	gtkrecentchoosermenu.c 		\
+	gtkrecentchooserwidget.c	\
+	gtkrecentchooserutils.c 	\
+	gtkrecentchooser.c 		\
+	gtkrecentfilter.c 		\
+	gtkrecentmanager.c
+endif
+
+if INCLUDE_PRINTING_SUBSET
+gtk_c_sources +=			\
+	gtkpagesetup.c			\
+	gtkpapersize.c			\
+	gtkprintcontext.c		\
+	gtkprintoperation.c		\
+	gtkprintoperationpreview.c	\
+	gtkprintsettings.c		\
+	gtkprintutils.c
+endif
+
 if OS_UNIX
 gtk_private_h_sources += \
 	gtkfilesystemunix.h		\
@@ -596,8 +636,10 @@
 	gtkprinteroptionset.h		\
 	gtkprinteroptionwidget.h
 
-gtk_c_sources += \
-	gtkfilesystemunix.c		\
+gtk_c_sources += gtkfilesystemunix.c
+
+if INCLUDE_PRINTING_SUBSET
+gtk_c_sources += 			\
 	gtkpagesetupunixdialog.c	\
 	gtkprinter.c			\
 	gtkprinteroption.c		\
@@ -609,15 +651,21 @@
         gtkprintbackend.c
 endif
 
+endif
+
 if OS_WIN32
 gtk_private_h_sources += gtkfilesystemwin32.h gtkprint-win32.h
 
-gtk_c_sources += \
-	gtkfilesystemwin32.c		\
+gtk_c_sources += gtkfilesystemwin32.c
+
+if INCLUDE_PRINTING_SUBSET
+gtk_c_sources += 			\
 	gtkprint-win32.c		\
 	gtkprintoperation-win32.c
 endif
 
+endif
+
 if USE_X11
 gtk_private_h_sources += gtkxembed.h gtktrayicon.h
 gtk_c_sources += \
@@ -765,8 +813,10 @@
 gtkincludedir = $(includedir)/gtk-2.0/gtk
 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
 
-gtkunixprintincludedir = $(includedir)/gtk-unix-print-2.0/gtk
+if INCLUDE_PRINTING_SUBSET
+gtkunixprintincludedir = $(includedir)/gtk-unibx-print-2.0/gtk
 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
+endif
 
 libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources)
 libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
Index: gtk/gtk.h
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtk.h,v
retrieving revision 1.84
diff -u -r1.84 gtk.h
--- gtk/gtk.h	21 Apr 2006 15:09:28 -0000	1.84
+++ gtk/gtk.h	11 Jul 2006 06:08:42 -0000
@@ -29,6 +29,7 @@
 
 
 #include <gdk/gdk.h>
+#include <gtk/gtkconfig.h>
 #include <gtk/gtkaboutdialog.h>
 #include <gtk/gtkaccelgroup.h>
 #include <gtk/gtkaccellabel.h>
@@ -39,7 +40,6 @@
 #include <gtk/gtkadjustment.h>
 #include <gtk/gtkalignment.h>
 #include <gtk/gtkarrow.h>
-#include <gtk/gtkaspectframe.h>
 #include <gtk/gtkassistant.h>
 #include <gtk/gtkbbox.h>
 #include <gtk/gtkbin.h>
@@ -60,16 +60,12 @@
 #include <gtk/gtkcheckbutton.h>
 #include <gtk/gtkcheckmenuitem.h>
 #include <gtk/gtkclipboard.h>
-#include <gtk/gtkclist.h>
 #include <gtk/gtkcolorbutton.h>
 #include <gtk/gtkcolorsel.h>
 #include <gtk/gtkcolorseldialog.h>
-#include <gtk/gtkcombo.h>
 #include <gtk/gtkcombobox.h>
 #include <gtk/gtkcomboboxentry.h>
 #include <gtk/gtkcontainer.h>
-#include <gtk/gtkctree.h>
-#include <gtk/gtkcurve.h>
 #include <gtk/gtkdialog.h>
 #include <gtk/gtkdnd.h>
 #include <gtk/gtkdrawingarea.h>
@@ -79,7 +75,6 @@
 #include <gtk/gtkenums.h>
 #include <gtk/gtkeventbox.h>
 #include <gtk/gtkexpander.h>
-#include <gtk/gtkfilesel.h>
 #include <gtk/gtkfixed.h>
 #include <gtk/gtkfilechooserbutton.h>
 #include <gtk/gtkfilechooserdialog.h>
@@ -87,13 +82,11 @@
 #include <gtk/gtkfontbutton.h>
 #include <gtk/gtkfontsel.h>
 #include <gtk/gtkframe.h>
-#include <gtk/gtkgamma.h>
 #include <gtk/gtkgc.h>
 #include <gtk/gtkhandlebox.h>
 #include <gtk/gtkhbbox.h>
 #include <gtk/gtkhbox.h>
 #include <gtk/gtkhpaned.h>
-#include <gtk/gtkhruler.h>
 #include <gtk/gtkhscale.h>
 #include <gtk/gtkhscrollbar.h>
 #include <gtk/gtkhseparator.h>
@@ -105,15 +98,11 @@
 #include <gtk/gtkimcontext.h>
 #include <gtk/gtkimcontextsimple.h>
 #include <gtk/gtkimmulticontext.h>
-#include <gtk/gtkinputdialog.h>
 #include <gtk/gtkinvisible.h>
 #include <gtk/gtkitem.h>
-#include <gtk/gtkitemfactory.h>
 #include <gtk/gtklabel.h>
 #include <gtk/gtklayout.h>
 #include <gtk/gtklinkbutton.h>
-#include <gtk/gtklist.h>
-#include <gtk/gtklistitem.h>
 #include <gtk/gtkliststore.h>
 #include <gtk/gtkmain.h>
 #include <gtk/gtkmenu.h>
@@ -126,13 +115,8 @@
 #include <gtk/gtkmodules.h>
 #include <gtk/gtknotebook.h>
 #include <gtk/gtkobject.h>
-#include <gtk/gtkoldeditable.h>
-#include <gtk/gtkoptionmenu.h>
 #include <gtk/gtkpaned.h>
-#include <gtk/gtkpixmap.h>
 #include <gtk/gtkplug.h>
-#include <gtk/gtkpreview.h>
-#include <gtk/gtkprintoperation.h>
 #include <gtk/gtkprogress.h>
 #include <gtk/gtkprogressbar.h>
 #include <gtk/gtkradioaction.h>
@@ -141,13 +125,6 @@
 #include <gtk/gtkradiotoolbutton.h>
 #include <gtk/gtkrange.h>
 #include <gtk/gtkrc.h>
-#include <gtk/gtkrecentchooser.h>
-#include <gtk/gtkrecentchooserdialog.h>
-#include <gtk/gtkrecentchoosermenu.h>
-#include <gtk/gtkrecentchooserwidget.h>
-#include <gtk/gtkrecentfilter.h>
-#include <gtk/gtkrecentmanager.h>
-#include <gtk/gtkruler.h>
 #include <gtk/gtkscale.h>
 #include <gtk/gtkscrollbar.h>
 #include <gtk/gtkscrolledwindow.h>
@@ -166,7 +143,6 @@
 #include <gtk/gtkstyle.h>
 #include <gtk/gtktable.h>
 #include <gtk/gtktearoffmenuitem.h>
-#include <gtk/gtktext.h>
 #include <gtk/gtktextbuffer.h>
 #include <gtk/gtktextbufferrichtext.h>
 #include <gtk/gtktextview.h>
@@ -178,9 +154,7 @@
 #include <gtk/gtktoolbutton.h>
 #include <gtk/gtktoolitem.h>
 #include <gtk/gtktooltips.h>
-#include <gtk/gtktree.h>
 #include <gtk/gtktreednd.h>
-#include <gtk/gtktreeitem.h>
 #include <gtk/gtktreemodel.h>
 #include <gtk/gtktreemodelfilter.h>
 #include <gtk/gtktreemodelsort.h>
@@ -195,12 +169,53 @@
 #include <gtk/gtkversion.h>
 #include <gtk/gtkviewport.h>
 #include <gtk/gtkvpaned.h>
-#include <gtk/gtkvruler.h>
 #include <gtk/gtkvscale.h>
 #include <gtk/gtkvscrollbar.h>
 #include <gtk/gtkvseparator.h>
 #include <gtk/gtkwidget.h>
 #include <gtk/gtkwindow.h>
 
+#ifdef GTK_HAS_RECENT_SUBSET
+#include <gtk/gtkrecentchooser.h>
+#include <gtk/gtkrecentchooserdialog.h>
+#include <gtk/gtkrecentchoosermenu.h>
+#include <gtk/gtkrecentchooserwidget.h>
+#include <gtk/gtkrecentfilter.h>
+#include <gtk/gtkrecentmanager.h>
+#endif
+
+#ifdef GTK_HAS_PRINTING_SUBSET
+#include <gtk/gtkprintoperation.h>
+#endif
+
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
+#include <gtk/gtkaspectframe.h>
+#include <gtk/gtkcurve.h>
+#include <gtk/gtkgamma.h>
+#include <gtk/gtkhruler.h>
+#include <gtk/gtkinputdialog.h>
+#include <gtk/gtkruler.h>
+#include <gtk/gtkvruler.h>
+#endif 
+
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+#include <gtk/gtkclist.h>
+#include <gtk/gtkcombo.h>
+#include <gtk/gtkctree.h>
+#include <gtk/gtkfilesel.h>
+#include <gtk/gtkitemfactory.h>
+#include <gtk/gtklist.h>
+#include <gtk/gtklistitem.h>
+#include <gtk/gtkoldeditable.h>
+#include <gtk/gtkoptionmenu.h>
+#include <gtk/gtkpixmap.h>
+#include <gtk/gtkpreview.h>
+#endif 
+
+#ifdef GTK_HAS_BROKEN_SUBSET
+#include <gtk/gtktext.h>
+#include <gtk/gtktree.h>
+#include <gtk/gtktreeitem.h>
+#endif
 
 #endif /* __GTK_H__ */
Index: gtk/gtk.symbols
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtk.symbols,v
retrieving revision 1.116
diff -u -r1.116 gtk.symbols
--- gtk/gtk.symbols	5 Jun 2006 18:39:20 -0000	1.116
+++ gtk/gtk.symbols	11 Jul 2006 06:08:45 -0000
@@ -17,6 +17,7 @@
  * in each source file, gdkaliasdef.c must be included at the
  * very bottom, after a line defining the right symbol.
  */ 
+#include "gtkconfig.h"
 #ifdef ALL_FILES
 #define IN_FILE(x) 1
 #define IN_HEADER(x) 1
@@ -249,17 +250,15 @@
 gtk_arrow_type_get_type G_GNUC_CONST
 gtk_assistant_page_type_get_type G_GNUC_CONST
 gtk_attach_options_get_type G_GNUC_CONST
-gtk_button_action_get_type G_GNUC_CONST
 gtk_buttons_type_get_type G_GNUC_CONST
 gtk_calendar_display_options_get_type G_GNUC_CONST
 gtk_cell_renderer_mode_get_type G_GNUC_CONST
 gtk_cell_renderer_state_get_type G_GNUC_CONST
-gtk_cell_renderer_accel_mode_get_type
+gtk_cell_renderer_accel_mode_get_type G_GNUC_CONST
 gtk_corner_type_get_type G_GNUC_CONST
 gtk_debug_flag_get_type G_GNUC_CONST
 gtk_delete_type_get_type G_GNUC_CONST
 gtk_dest_defaults_get_type G_GNUC_CONST
-gtk_clist_drag_pos_get_type G_GNUC_CONST
 gtk_dialog_flags_get_type G_GNUC_CONST
 gtk_direction_type_get_type G_GNUC_CONST
 gtk_expander_style_get_type G_GNUC_CONST
@@ -276,12 +275,6 @@
 gtk_tree_view_column_sizing_get_type G_GNUC_CONST
 gtk_tree_view_drop_position_get_type G_GNUC_CONST
 gtk_button_box_style_get_type G_GNUC_CONST
-gtk_cell_type_get_type G_GNUC_CONST
-gtk_ctree_expander_style_get_type G_GNUC_CONST
-gtk_ctree_expansion_type_get_type G_GNUC_CONST
-gtk_ctree_line_style_get_type G_GNUC_CONST
-gtk_ctree_pos_get_type G_GNUC_CONST
-gtk_curve_type_get_type G_GNUC_CONST
 gtk_icon_lookup_flags_get_type G_GNUC_CONST
 gtk_image_type_get_type G_GNUC_CONST
 gtk_im_preedit_style_get_type G_GNUC_CONST
@@ -294,29 +287,15 @@
 gtk_movement_step_get_type G_GNUC_CONST
 gtk_orientation_get_type G_GNUC_CONST
 gtk_pack_type_get_type G_GNUC_CONST
-gtk_page_orientation_get_type G_GNUC_CONST
-gtk_print_operation_result_get_type G_GNUC_CONST
-gtk_print_pages_get_type G_GNUC_CONST
-gtk_print_quality_get_type G_GNUC_CONST
-gtk_print_status_get_type G_GNUC_CONST
-gtk_page_set_get_type G_GNUC_CONST
 gtk_path_priority_type_get_type G_GNUC_CONST
 gtk_path_type_get_type G_GNUC_CONST
 gtk_policy_type_get_type G_GNUC_CONST
 gtk_position_type_get_type G_GNUC_CONST
-gtk_preview_type_get_type G_GNUC_CONST
-gtk_print_duplex_get_type G_GNUC_CONST
-gtk_print_error_get_type G_GNUC_CONST
-gtk_recent_filter_flags_get_type G_GNUC_CONST
 gtk_private_flags_get_type G_GNUC_CONST
 gtk_progress_bar_orientation_get_type G_GNUC_CONST
 gtk_progress_bar_style_get_type G_GNUC_CONST
 gtk_rc_flags_get_type G_GNUC_CONST
 gtk_rc_token_type_get_type G_GNUC_CONST
-gtk_recent_chooser_error_get_type G_GNUC_CONST
-gtk_recent_manager_error_get_type G_GNUC_CONST
-gtk_recent_sort_type_get_type G_GNUC_CONST
-gtk_unit_get_type G_GNUC_CONST
 gtk_relief_style_get_type G_GNUC_CONST
 gtk_resize_mode_get_type G_GNUC_CONST
 gtk_response_type_get_type G_GNUC_CONST
@@ -338,7 +317,6 @@
 gtk_text_search_flags_get_type G_GNUC_CONST
 gtk_text_window_type_get_type G_GNUC_CONST
 gtk_tree_model_flags_get_type G_GNUC_CONST
-gtk_tree_view_mode_get_type G_GNUC_CONST
 gtk_update_type_get_type G_GNUC_CONST
 gtk_visibility_get_type G_GNUC_CONST
 gtk_object_flags_get_type G_GNUC_CONST
@@ -349,6 +327,44 @@
 gtk_toolbar_child_type_get_type G_GNUC_CONST
 gtk_toolbar_space_style_get_type G_GNUC_CONST
 gtk_toolbar_style_get_type G_GNUC_CONST
+
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+gtk_button_action_get_type G_GNUC_CONST
+gtk_cell_type_get_type G_GNUC_CONST
+gtk_clist_drag_pos_get_type G_GNUC_CONST
+gtk_ctree_expander_style_get_type G_GNUC_CONST
+gtk_ctree_expansion_type_get_type G_GNUC_CONST
+gtk_ctree_line_style_get_type G_GNUC_CONST
+gtk_ctree_pos_get_type G_GNUC_CONST
+gtk_preview_type_get_type G_GNUC_CONST
+#endif
+
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
+gtk_curve_type_get_type G_GNUC_CONST
+#endif
+
+#ifdef GTK_HAS_PRINTING_SUBSET
+gtk_page_orientation_get_type G_GNUC_CONST
+gtk_print_operation_result_get_type G_GNUC_CONST
+gtk_print_pages_get_type G_GNUC_CONST
+gtk_print_quality_get_type G_GNUC_CONST
+gtk_print_status_get_type G_GNUC_CONST
+gtk_page_set_get_type G_GNUC_CONST
+gtk_print_duplex_get_type G_GNUC_CONST
+gtk_print_error_get_type G_GNUC_CONST
+gtk_unit_get_type G_GNUC_CONST
+#endif
+
+#ifdef GTK_HAS_RECENT_SUBSET
+gtk_recent_filter_flags_get_type G_GNUC_CONST
+gtk_recent_chooser_error_get_type G_GNUC_CONST
+gtk_recent_manager_error_get_type G_GNUC_CONST
+gtk_recent_sort_type_get_type G_GNUC_CONST
+#endif
+
+#ifdef GTK_HAS_BROKEN_SUBSET
+gtk_tree_view_mode_get_type G_GNUC_CONST
+#endif
 #endif
 #endif
 
@@ -362,11 +378,13 @@
 
 #if IN_HEADER(__GTK_ASPECT_FRAME_H__)
 #if IN_FILE(__GTK_ASPECT_FRAME_C__)
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
 gtk_aspect_frame_get_type G_GNUC_CONST
 gtk_aspect_frame_new
 gtk_aspect_frame_set
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_BINDINGS_H__)
 #if IN_FILE(__GTK_BINDINGS_C__)
@@ -646,6 +664,7 @@
 
 #if IN_HEADER(__GTK_CLIST_H__)
 #if IN_FILE(__GTK_CLIST_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
 #ifndef GTK_DISABLE_DEPRECATED
 gtk_clist_append
 gtk_clist_clear
@@ -724,6 +743,7 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_COLOR_BUTTON_H__)
 #if IN_FILE(__GTK_COLOR_BUTTON_C__)
@@ -827,6 +847,7 @@
 
 #if IN_HEADER(__GTK_SMART_COMBO_H__)
 #if IN_FILE(__GTK_SMART_COMBO_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
 #ifndef GTK_DISABLE_DEPRECATED
 gtk_combo_disable_activate
 gtk_combo_get_type G_GNUC_CONST
@@ -840,6 +861,7 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_CONTAINER_H__)
 #if IN_FILE(__GTK_CONTAINER_C__)
@@ -884,6 +906,7 @@
 
 #if IN_HEADER(__C_TREE_H__)
 #if IN_FILE(__G_TREE_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
 #ifndef GTK_DISABLE_DEPRECATED
 gtk_ctree_collapse
 gtk_ctree_collapse_recursive
@@ -956,9 +979,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_CURVE_H__)
 #if IN_FILE(__GTK_CURVE_C__)
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
 gtk_curve_get_type G_GNUC_CONST
 gtk_curve_get_vector
 gtk_curve_new
@@ -969,6 +994,7 @@
 gtk_curve_set_vector
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_WINDOW_DECORATE_H__)
 #if IN_FILE(__GTK_WINDOW_DECORATE_C__)
@@ -1482,6 +1508,7 @@
 
 #if IN_HEADER(__GTK_FILESEL_H__)
 #if IN_FILE(__GTK_FILESEL_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
 gtk_file_selection_complete
 gtk_file_selection_get_filename PRIVATE
 #ifdef G_OS_WIN32
@@ -1503,6 +1530,7 @@
 gtk_file_selection_show_fileop_buttons
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_FIXED_H__)
 #if IN_FILE(__GTK_FIXED_C__)
@@ -1573,10 +1601,12 @@
 
 #if IN_HEADER(__GTK_GAMMA_CURVE_H__)
 #if IN_FILE(__GTK_GAMMA_CURVE_C__)
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
 gtk_gamma_curve_get_type G_GNUC_CONST
 gtk_gamma_curve_new
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_GC_H__)
 #if IN_FILE(__GTK_GC_C__)
@@ -1627,10 +1657,12 @@
 
 #if IN_HEADER(__GTK_HRULER_H__)
 #if IN_FILE(__GTK_HRULER_C__)
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
 gtk_hruler_get_type G_GNUC_CONST
 gtk_hruler_new
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_HSCALE_H__)
 #if IN_FILE(__GTK_HSCALE_C__)
@@ -1939,6 +1971,7 @@
 
 #if IN_HEADER(__GTK_ITEM__FACTORY_H__)
 #if IN_FILE(__GTK_ITEM_FACTORY_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
 #ifndef GTK_DISABLE_DEPRECATED
 gtk_item_factories_path_delete
 gtk_item_factory_add_foreign
@@ -1967,6 +2000,7 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_LABEL_H__)
 #if IN_FILE(__GTK_LABEL_C__)
@@ -2049,6 +2083,8 @@
 
 #if IN_HEADER(__GTK_LIST_H__)
 #if IN_FILE(__GTK_LIST_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+#ifndef GTK_DISABLE_DEPRECATED
 gtk_list_append_items
 gtk_list_child_position
 gtk_list_clear_items
@@ -2077,9 +2113,13 @@
 gtk_list_unselect_item
 #endif
 #endif
+#endif
+#endif
 
 #if IN_HEADER(__GTK_LIST_ITEM_H__)
 #if IN_FILE(__GTK_LIST_ITEM_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+#ifndef GTK_DISABLE_DEPRECATED
 gtk_list_item_deselect
 gtk_list_item_get_type G_GNUC_CONST
 gtk_list_item_new
@@ -2087,6 +2127,8 @@
 gtk_list_item_select
 #endif
 #endif
+#endif
+#endif
 
 #if IN_HEADER(__GTK_LIST_STORE_H__)
 #if IN_FILE(__GTK_LIST_STORE_C__)
@@ -2405,14 +2447,20 @@
 
 #if IN_HEADER(__GTK_OLD_EDITABLE_H__)
 #if IN_FILE(__GTK_OLD_EDITABLE_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+#ifndef GTK_DISABLE_DEPRECATED
 gtk_old_editable_changed
 gtk_old_editable_claim_selection
 gtk_old_editable_get_type G_GNUC_CONST
 #endif
 #endif
+#endif
+#endif
 
 #if IN_HEADER(__GTK_OPTION_MENU_H__)
 #if IN_FILE(__GTK_OPTION_MENU_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+#ifndef GTK_DISABLE_DEPRECATED
 gtk_option_menu_get_history
 gtk_option_menu_get_menu
 gtk_option_menu_get_type G_GNUC_CONST
@@ -2422,6 +2470,8 @@
 gtk_option_menu_set_menu
 #endif
 #endif
+#endif
+#endif
 
 #if IN_HEADER(__GTK_PANED_H__)
 #if IN_FILE(__GTK_PANED_C__)
@@ -2446,6 +2496,8 @@
 
 #if IN_HEADER(__GTK_PIXMAP_H__)
 #if IN_FILE(__GTK_PIXMAP_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+#ifndef GTK_DISABLE_DEPRECATED
 gtk_pixmap_get
 gtk_pixmap_get_type G_GNUC_CONST
 gtk_pixmap_new
@@ -2453,6 +2505,8 @@
 gtk_pixmap_set_build_insensitive
 #endif
 #endif
+#endif
+#endif
 
 #if IN_HEADER(__GTK_PLUG_H__)
 #if IN_FILE(__GTK_PLUG_C__)
@@ -2467,6 +2521,8 @@
 
 #if IN_HEADER(__GTK_PREVIEW_H__)
 #if IN_FILE(__GTK_PREVIEW_C__)
+#ifdef GTK_HAS_DEPRECATED_SUBSET
+#ifndef GTK_DISABLE_DEPRECATED
 gtk_preview_draw_row
 gtk_preview_get_cmap
 gtk_preview_get_info
@@ -2485,9 +2541,12 @@
 gtk_preview_uninit
 #endif
 #endif
+#endif
+#endif
 
 #if IN_HEADER(__GTK_PAGE_SETUP_H__)
 #if IN_FILE(__GTK_PAGE_SETUP_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 gtk_page_setup_get_type G_GNUC_CONST
 gtk_page_setup_new
 gtk_page_setup_copy
@@ -2510,9 +2569,11 @@
 gtk_page_setup_get_page_height
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PAGE_SETUP_UNIX_DIALOG_H__)
 #if IN_FILE(__GTK_PAGE_SETUP_UNIX_DIALOG_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_page_setup_unix_dialog_get_type G_GNUC_CONST
 gtk_page_setup_unix_dialog_new
@@ -2523,9 +2584,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PAPER_SIZE_H__)
 #if IN_FILE(__GTK_PAPER_SIZE_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 gtk_paper_size_get_type G_GNUC_CONST
 gtk_paper_size_new
 gtk_paper_size_new_from_ppd
@@ -2547,9 +2610,11 @@
 gtk_paper_size_get_default
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_BACKEND_H__)
 #if IN_FILE(__GTK_PRINT_BACKEND_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_print_backend_error_quark
 gtk_print_backend_get_type G_GNUC_CONST
@@ -2565,9 +2630,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_CONTEXT_H__)
 #if IN_FILE(__GTK_PRINT_CONTEXT_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 gtk_print_context_get_type G_GNUC_CONST
 gtk_print_context_get_cairo_context
 gtk_print_context_get_page_setup
@@ -2581,9 +2648,11 @@
 gtk_print_context_set_cairo_context
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINTER_H__)
 #if IN_FILE(__GTK_PRINTER_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_printer_get_type G_GNUC_CONST
 gtk_printer_get_backend
@@ -2598,9 +2667,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_BACKEND_H__)
 #if IN_FILE(__GTK_PRINTER_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_printer_new
 gtk_printer_set_description
@@ -2617,10 +2688,12 @@
 gtk_printer_is_default
 #endif 
 #endif 
+#endif 
 #endif
 
 #if IN_HEADER(__GTK_PRINTER_OPTION_H__)
 #if IN_FILE(__GTK_PRINTER_OPTION_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_printer_option_get_type
 gtk_printer_option_has_choice
@@ -2634,9 +2707,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINTER_OPTION_SET_H__)
 #if IN_FILE(__GTK_PRINTER_OPTION_SET_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_printer_option_set_get_type G_GNUC_CONST
 gtk_printer_option_set_new
@@ -2650,9 +2725,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINTER_OPTION_WIDGET_H__)
 #if IN_FILE(__GTK_PRINTER_OPTION_WIDGET_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_printer_option_widget_get_type G_GNUC_CONST
 gtk_printer_option_widget_new
@@ -2663,9 +2740,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_JOB_H__)
 #if IN_FILE(__GTK_PRINT_JOB_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_print_job_get_type G_GNUC_CONST
 gtk_print_job_new
@@ -2682,9 +2761,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_OPERATION_H__)
 #if IN_FILE(__GTK_PRINT_OPERATION_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 gtk_print_error_quark
 gtk_print_operation_get_type G_GNUC_CONST
 gtk_print_operation_new
@@ -2711,36 +2792,44 @@
 gtk_print_operation_cancel
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_OPERATION_PREVIEW_H__)
 #if IN_FILE(__GTK_PRINT_OPERATION_PREVIEW_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 gtk_print_operation_preview_end_preview
 gtk_print_operation_preview_get_type
 gtk_print_operation_preview_is_selected
 gtk_print_operation_preview_render_page
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_OPERATION_H__)
 #if IN_FILE(__GTK_PRINT_OPERATION_UNIX_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_print_run_page_setup_dialog
 gtk_print_run_page_setup_dialog_async
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_OPERATION_H__)
 #if IN_FILE(__GTK_PRINT_OPERATION_WIN32_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_WIN32
 gtk_print_run_page_setup_dialog
 gtk_print_run_page_setup_dialog_async
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_SETTINGS_H__)
 #if IN_FILE(__GTK_PRINT_SETTINGS_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 gtk_print_settings_get_type G_GNUC_CONST
 gtk_print_settings_new
 gtk_print_settings_copy
@@ -2807,9 +2896,11 @@
 gtk_print_settings_set_output_bin
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_UNIX_DIALOG_H__)
 #if IN_FILE(__GTK_PRINT_UNIX_DIALOG_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_UNIX
 gtk_print_unix_dialog_get_type G_GNUC_CONST
 gtk_print_unix_dialog_new
@@ -2825,9 +2916,11 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PRINT_WIN32_H__)
 #if IN_FILE(__GTK_PRINT_WIN32_C__)
+#ifdef GTK_HAS_PRINTING_SUBSET
 #ifdef G_OS_WIN32
 gtk_print_win32_devnames_free
 gtk_print_win32_devnames_from_win32
@@ -2836,6 +2929,7 @@
 #endif
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_PROGRESS_BAR_H__)
 #if IN_FILE(__GTK_PROGRESS_BAR_C__)
@@ -2999,6 +3093,7 @@
 
 #if IN_HEADER(__GTK_RECENT_CHOOSER_H__)
 #if IN_FILE(__GTK_RECENT_CHOOSER_C__)
+#ifdef GTK_HAS_RECENT_SUBSET
 gtk_recent_chooser_set_show_private
 gtk_recent_chooser_get_show_private
 gtk_recent_chooser_set_show_not_found
@@ -3036,17 +3131,21 @@
 gtk_recent_chooser_error_quark
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_RECENT_CHOOSER_DIALOG_H__)
 #if IN_FILE(__GTK_RECENT_CHOOSER_DIALOG_C__)
+#ifdef GTK_HAS_RECENT_SUBSET
 gtk_recent_chooser_dialog_get_type G_GNUC_CONST
 gtk_recent_chooser_dialog_new G_GNUC_NULL_TERMINATED
 gtk_recent_chooser_dialog_new_for_manager G_GNUC_NULL_TERMINATED
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_RECENT_CHOOSER_MENU_H__)
 #if IN_FILE(__GTK_RECENT_CHOOSER_MENU_C__)
+#ifdef GTK_HAS_RECENT_SUBSET
 gtk_recent_chooser_menu_get_type G_GNUC_CONST
 gtk_recent_chooser_menu_new
 gtk_recent_chooser_menu_new_for_manager
@@ -3054,17 +3153,21 @@
 gtk_recent_chooser_menu_set_show_numbers
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_RECENT_CHOOSER_WIDGET_H__)
 #if IN_FILE(__GTK_RECENT_CHOOSER_WIDGET_C__)
+#ifdef GTK_HAS_RECENT_SUBSET
 gtk_recent_chooser_widget_get_type G_GNUC_CONST
 gtk_recent_chooser_widget_new
 gtk_recent_chooser_widget_new_for_manager
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_RECENT_FILTER_H__)
 #if IN_FILE(__GTK_RECENT_FILTER_C__)
+#ifdef GTK_HAS_RECENT_SUBSET
 gtk_recent_filter_get_type G_GNUC_CONST
 gtk_recent_filter_new
 gtk_recent_filter_set_name
@@ -3080,9 +3183,11 @@
 gtk_recent_filter_filter
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_RECENT_MANAGER_H__)
 #if IN_FILE(__GTK_RECENT_MANAGER_C__)
+#ifdef GTK_HAS_RECENT_SUBSET
 gtk_recent_manager_error_quark
 gtk_recent_manager_get_type G_GNUC_CONST
 gtk_recent_manager_new
@@ -3125,6 +3230,7 @@
 gtk_recent_info_match
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_TEXT_BUFFER_RICH_TEXT_H__)
 #if IN_FILE(__GTK_TEXT_BUFFER_RICH_TEXT_C__)
@@ -3145,6 +3251,7 @@
 
 #if IN_HEADER(__GTK_RULER_H__)
 #if IN_FILE(__GTK_RULER_C__)
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
 gtk_ruler_draw_pos
 gtk_ruler_draw_ticks
 gtk_ruler_get_metric
@@ -3154,6 +3261,7 @@
 gtk_ruler_set_range
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_SCALE_H__)
 #if IN_FILE(__GTK_SCALE_C__)
@@ -3440,6 +3548,7 @@
 
 #if IN_HEADER(__GTK_TEXT_H__)
 #if IN_FILE(__GTK_TEXT_C__)
+#ifdef GTK_HAS_BROKEN_SUBSET
 gtk_text_backward_delete
 gtk_text_forward_delete
 gtk_text_freeze
@@ -3456,6 +3565,7 @@
 gtk_text_thaw
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_TEXT_BUFFER_H__)
 #if IN_FILE(__GTK_TEXT_BUFFER_C__)
@@ -3954,6 +4064,7 @@
 
 #if IN_HEADER(__GTK_TREE_H__)
 #if IN_FILE(__GTK_TREE_C__)
+#ifdef GTK_HAS_BROKEN_SUBSET
 gtk_tree_append
 gtk_tree_child_position
 gtk_tree_clear_items
@@ -3972,6 +4083,7 @@
 gtk_tree_new
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_TREE_DND_H__)
 #if IN_FILE(__GTK_TREE_DND_C__)
@@ -3989,6 +4101,7 @@
 
 #if IN_HEADER(__GTK_TREE_ITEM_H__)
 #if IN_FILE(__GTK_TREE_ITEM_C__)
+#ifdef GTK_HAS_BROKEN_SUBSET
 gtk_tree_item_collapse
 gtk_tree_item_deselect
 gtk_tree_item_expand
@@ -4000,6 +4113,7 @@
 gtk_tree_item_set_subtree
 #endif
 #endif
+#endif
 
 #if IN_HEADER(__GTK_TREE_MODEL_H__)
 #if IN_FILE(__GTK_TREE_MODEL_C__)
@@ -4385,8 +4499,10 @@
 
 #if IN_HEADER(__GTK_VRULER_H__)
 #if IN_FILE(__GTK_VRULER_C__)
+#ifdef GTK_HAS_SPECIALIZED_SUBSET
 gtk_vruler_get_type G_GNUC_CONST
 gtk_vruler_new
+#endif
 #endif
 #endif
 
Index: gtk/gtkaboutdialog.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkaboutdialog.c,v
retrieving revision 1.50
diff -u -r1.50 gtkaboutdialog.c
--- gtk/gtkaboutdialog.c	14 May 2006 04:25:28 -0000	1.50
+++ gtk/gtkaboutdialog.c	11 Jul 2006 06:08:47 -0000
@@ -33,6 +33,7 @@
 #include <gdk/gdkkeysyms.h>
 
 #include "gtkaboutdialog.h"
+#include "gtkenums.h"
 #include "gtkbutton.h"
 #include "gtkbbox.h"
 #include "gtkdialog.h"
Index: gtk/gtkenums.h
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkenums.h,v
retrieving revision 1.60
diff -u -r1.60 gtkenums.h
--- gtk/gtkenums.h	28 May 2006 12:37:21 -0000	1.60
+++ gtk/gtkenums.h	11 Jul 2006 06:08:47 -0000
@@ -467,46 +467,6 @@
   GTK_PACK_DIRECTION_BTT
 } GtkPackDirection;
 
-typedef enum {
-  GTK_PRINT_PAGES_ALL,
-  GTK_PRINT_PAGES_CURRENT,
-  GTK_PRINT_PAGES_RANGES
-} GtkPrintPages;
-
-typedef enum {
-  GTK_PAGE_SET_ALL,
-  GTK_PAGE_SET_EVEN,
-  GTK_PAGE_SET_ODD
-} GtkPageSet;
-
-typedef enum {
-  GTK_PAGE_ORIENTATION_PORTRAIT,
-  GTK_PAGE_ORIENTATION_LANDSCAPE,
-  GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT,
-  GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE
-} GtkPageOrientation;
-
-typedef enum {
-  GTK_PRINT_QUALITY_LOW,
-  GTK_PRINT_QUALITY_NORMAL,
-  GTK_PRINT_QUALITY_HIGH,
-  GTK_PRINT_QUALITY_DRAFT
-} GtkPrintQuality;
-
-typedef enum {
-  GTK_PRINT_DUPLEX_SIMPLEX,
-  GTK_PRINT_DUPLEX_HORIZONTAL,
-  GTK_PRINT_DUPLEX_VERTICAL
-} GtkPrintDuplex;
-
-
-typedef enum {
-  GTK_UNIT_PIXEL,
-  GTK_UNIT_POINTS,
-  GTK_UNIT_INCH,
-  GTK_UNIT_MM
-} GtkUnit;
-
 G_END_DECLS
 
 #endif /* __GTK_ENUMS_H__ */
Index: gtk/gtkpagesetup.h
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkpagesetup.h,v
retrieving revision 1.3
diff -u -r1.3 gtkpagesetup.h
--- gtk/gtkpagesetup.h	23 Apr 2006 05:48:04 -0000	1.3
+++ gtk/gtkpagesetup.h	11 Jul 2006 06:08:47 -0000
@@ -22,8 +22,7 @@
 #define __GTK_PAGE_SETUP_H__
 
 #include <glib-object.h>
-#include "gtkenums.h"
-#include "gtkpapersize.h"
+#include "gtkprintsettings.h"
 
 G_BEGIN_DECLS
 
Index: gtk/gtkpapersize.h
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkpapersize.h,v
retrieving revision 1.3
diff -u -r1.3 gtkpapersize.h
--- gtk/gtkpapersize.h	23 Apr 2006 06:26:10 -0000	1.3
+++ gtk/gtkpapersize.h	11 Jul 2006 06:08:47 -0000
@@ -22,7 +22,6 @@
 #define __GTK_PAPER_SIZE_H__
 
 #include <glib-object.h>
-#include "gtkenums.h"
 
 G_BEGIN_DECLS
 
@@ -38,6 +37,14 @@
 #define GTK_PAPER_NAME_LETTER "na_letter"
 #define GTK_PAPER_NAME_EXECUTIVE "na_executive"
 #define GTK_PAPER_NAME_LEGAL "na_legal"
+
+typedef enum {
+  GTK_UNIT_PIXEL,
+  GTK_UNIT_POINTS,
+  GTK_UNIT_INCH,
+  GTK_UNIT_MM
+} GtkUnit;
+
 
 GType gtk_paper_size_get_type (void) G_GNUC_CONST;
 
Index: gtk/gtkprintoperation.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkprintoperation.c,v
retrieving revision 1.27
diff -u -r1.27 gtkprintoperation.c
--- gtk/gtkprintoperation.c	5 Jun 2006 19:33:19 -0000	1.27
+++ gtk/gtkprintoperation.c	11 Jul 2006 06:08:49 -0000
@@ -1819,7 +1819,7 @@
   
   surface = cairo_pdf_surface_create (priv->pdf_target,
 				      width, height);
-  cairo_pdf_surface_set_dpi (surface, 300, 300);
+  cairo_surface_set_fallback_resolution (surface, 300, 300);
 
   priv->platform_data = surface;
   priv->free_platform_data = (GDestroyNotify) cairo_surface_destroy;
Index: gtk/gtkprintsettings.h
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkprintsettings.h,v
retrieving revision 1.5
diff -u -r1.5 gtkprintsettings.h
--- gtk/gtkprintsettings.h	12 May 2006 09:47:56 -0000	1.5
+++ gtk/gtkprintsettings.h	11 Jul 2006 06:08:49 -0000
@@ -42,6 +42,39 @@
   gint end;
 };
 
+typedef enum {
+  GTK_PRINT_PAGES_ALL,
+  GTK_PRINT_PAGES_CURRENT,
+  GTK_PRINT_PAGES_RANGES
+} GtkPrintPages;
+
+typedef enum {
+  GTK_PAGE_SET_ALL,
+  GTK_PAGE_SET_EVEN,
+  GTK_PAGE_SET_ODD
+} GtkPageSet;
+
+typedef enum {
+  GTK_PAGE_ORIENTATION_PORTRAIT,
+  GTK_PAGE_ORIENTATION_LANDSCAPE,
+  GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT,
+  GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE
+} GtkPageOrientation;
+
+typedef enum {
+  GTK_PRINT_QUALITY_LOW,
+  GTK_PRINT_QUALITY_NORMAL,
+  GTK_PRINT_QUALITY_HIGH,
+  GTK_PRINT_QUALITY_DRAFT
+} GtkPrintQuality;
+
+typedef enum {
+  GTK_PRINT_DUPLEX_SIMPLEX,
+  GTK_PRINT_DUPLEX_HORIZONTAL,
+  GTK_PRINT_DUPLEX_VERTICAL
+} GtkPrintDuplex;
+
+
 GType             gtk_print_settings_get_type (void) G_GNUC_CONST;
 GtkPrintSettings *gtk_print_settings_new      (void);
 
Index: gtk/gtkprintutils.h
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkprintutils.h,v
retrieving revision 1.1
diff -u -r1.1 gtkprintutils.h
--- gtk/gtkprintutils.h	23 Apr 2006 05:48:04 -0000	1.1
+++ gtk/gtkprintutils.h	11 Jul 2006 06:08:49 -0000
@@ -20,7 +20,7 @@
 #ifndef __GTK_PRINT_UTILS_H__
 #define __GTK_PRINT_UTILS_H__
 
-#include "gtkenums.h"
+#include "gtkpapersize.h"
 
 G_BEGIN_DECLS
 
Index: gtk/makegtkalias.pl
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/makegtkalias.pl,v
retrieving revision 1.11
diff -u -r1.11 makegtkalias.pl
--- gtk/makegtkalias.pl	20 Mar 2005 07:01:23 -0000	1.11
+++ gtk/makegtkalias.pl	11 Jul 2006 06:08:50 -0000
@@ -102,6 +102,13 @@
       next;
   }
 
+  if ($_ =~ /^\#include.*/)
+  {
+      print $_;
+
+      next;
+  }
+
   chop;
   my $str = $_;
   my @words;


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