From 2cc059a0e7ee382606351355780b53ae6a7229d9 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 19 Oct 2010 18:14:46 +0100 Subject: [PATCH] Split off gtkprivate.h The gtkprivate.h header contains GtkWidget-specific private symbols that are not useful except in a handful of cases. Basically everything includes gtkprivate.h for the GTK_PARAM_* macros. https://bugzilla.gnome.org/show_bug.cgi?id=632539 --- gtk/Makefile.am | 3 +- gtk/gtkcontainer.c | 1 + gtk/gtkfilefilter.c | 2 + gtk/gtkinvisible.c | 1 + gtk/gtkmain.c | 2 +- gtk/gtkoffscreenwindow.c | 2 +- gtk/gtkplug.c | 1 + gtk/gtkprivate.h | 92 ++---------------------------------- gtk/gtkrecentfilter.c | 2 + gtk/gtkrecentmanager.c | 1 + gtk/gtksearchenginesimple.c | 3 ++ gtk/gtksizegroup.c | 6 +-- gtk/gtksizerequest.c | 7 ++- gtk/gtktextview.c | 1 + gtk/gtktreeview.c | 1 + gtk/gtkwidget.c | 1 + gtk/gtkwidgetprivate.h | 93 +++++++++++++++++++++++++++++++++++++ gtk/gtkwindow.c | 2 +- 18 files changed, 124 insertions(+), 97 deletions(-) create mode 100644 gtk/gtkwidgetprivate.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index bac21b317..2f77957b0 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -16,7 +16,7 @@ GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings % endif SUBDIRS = theme-bits . tests -DIST_SUBDIRS=theme-bits tests +DIST_SUBDIRS = theme-bits tests if HAVE_PAPI_CUPS GTK_PRINT_BACKENDS=file,papi,cups @@ -396,6 +396,7 @@ gtk_private_h_sources = \ gtktreedatalist.h \ gtktreeprivate.h \ gtkwindow-decorate.h \ + gtkwidgetprivate.h \ $(gtk_clipboard_dnd_h_sources) # GTK+ C sources to build the library from diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index 2a2555ffd..f80b63389 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -38,6 +38,7 @@ #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtksizerequest.h" +#include "gtkwidgetprivate.h" #include "gtkwindow.h" #include "gtkintl.h" #include "gtktoolbar.h" diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c index 9d4e24856..04f3c55cf 100644 --- a/gtk/gtkfilefilter.c +++ b/gtk/gtkfilefilter.c @@ -21,6 +21,8 @@ #include "config.h" #include +#include + #include "gtkfilefilter.h" #include "gtkintl.h" #include "gtkprivate.h" diff --git a/gtk/gtkinvisible.c b/gtk/gtkinvisible.c index 942986d49..55baa8412 100644 --- a/gtk/gtkinvisible.c +++ b/gtk/gtkinvisible.c @@ -27,6 +27,7 @@ #include "config.h" #include #include "gtkinvisible.h" +#include "gtkwidgetprivate.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 42ac35f1c..a4d067aa3 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -59,7 +59,7 @@ #include "gtkrecentmanager.h" #include "gtkselection.h" #include "gtksettings.h" -#include "gtkwidget.h" +#include "gtkwidgetprivate.h" #include "gtkwindow.h" #include "gtktooltip.h" #include "gtkdebug.h" diff --git a/gtk/gtkoffscreenwindow.c b/gtk/gtkoffscreenwindow.c index ee37a9ae1..e918a1c0e 100644 --- a/gtk/gtkoffscreenwindow.c +++ b/gtk/gtkoffscreenwindow.c @@ -21,7 +21,7 @@ #include "config.h" #include "gtkoffscreenwindow.h" - +#include "gtkwidgetprivate.h" #include "gtkprivate.h" /** diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index fa5e53582..f8a19ffe3 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -33,6 +33,7 @@ #include "gtkintl.h" #include "gtkprivate.h" #include "gtkplugprivate.h" +#include "gtkwidgetprivate.h" #include "gtkwindow.h" /** diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h index d8fd0c021..906070200 100644 --- a/gtk/gtkprivate.h +++ b/gtk/gtkprivate.h @@ -1,69 +1,10 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * 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, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - #ifndef __GTK_PRIVATE_H__ #define __GTK_PRIVATE_H__ -#include +#include G_BEGIN_DECLS -void _gtk_widget_set_visible_flag (GtkWidget *widget, - gboolean visible); -gboolean _gtk_widget_get_resize_pending (GtkWidget *widget); -void _gtk_widget_set_resize_pending (GtkWidget *widget, - gboolean resize_pending); -gboolean _gtk_widget_get_in_reparent (GtkWidget *widget); -void _gtk_widget_set_in_reparent (GtkWidget *widget, - gboolean in_reparent); -gboolean _gtk_widget_get_anchored (GtkWidget *widget); -void _gtk_widget_set_anchored (GtkWidget *widget, - gboolean anchored); -gboolean _gtk_widget_get_shadowed (GtkWidget *widget); -void _gtk_widget_set_shadowed (GtkWidget *widget, - gboolean shadowed); -gboolean _gtk_widget_get_alloc_needed (GtkWidget *widget); -void _gtk_widget_set_alloc_needed (GtkWidget *widget, - gboolean alloc_needed); -gboolean _gtk_widget_get_width_request_needed (GtkWidget *widget); -void _gtk_widget_set_width_request_needed (GtkWidget *widget, - gboolean width_request_needed); -gboolean _gtk_widget_get_height_request_needed (GtkWidget *widget); -void _gtk_widget_set_height_request_needed (GtkWidget *widget, - gboolean height_request_needed); - -void _gtk_widget_override_size_request (GtkWidget *widget, - int width, - int height, - int *old_width, - int *old_height); -void _gtk_widget_restore_size_request (GtkWidget *widget, - int old_width, - int old_height); - #ifdef G_OS_WIN32 const gchar *_gtk_get_datadir (); @@ -85,10 +26,6 @@ const gchar *_gtk_get_data_prefix (); #endif /* G_OS_WIN32 */ -gboolean _gtk_fnmatch (const char *pattern, - const char *string, - gboolean no_leading_period); - #define GTK_PARAM_READABLE G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB #define GTK_PARAM_WRITABLE G_PARAM_WRITABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB #define GTK_PARAM_READWRITE G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB @@ -102,30 +39,9 @@ gboolean _gtk_fnmatch (const char *pattern, #define GTK_DEFAULT_ACCEL_MOD_MASK GDK_META_MASK #endif - -/* With GtkWidget , a widget may be requested - * its width for 2 or maximum 3 heights in one resize - * (Note this define is limited by the bitfield sizes - * defined on the SizeRequestCache structure). - */ -#define GTK_SIZE_REQUEST_CACHED_SIZES 3 - -typedef struct -{ - gint for_size; - gint minimum_size; - gint natural_size; -} SizeRequest; - -typedef struct { - SizeRequest widths[GTK_SIZE_REQUEST_CACHED_SIZES]; - SizeRequest heights[GTK_SIZE_REQUEST_CACHED_SIZES]; - guint cached_widths : 2; - guint cached_heights : 2; - guint last_cached_width : 2; - guint last_cached_height : 2; -} SizeRequestCache; - +gboolean _gtk_fnmatch (const char *pattern, + const char *string, + gboolean no_leading_period); G_END_DECLS diff --git a/gtk/gtkrecentfilter.c b/gtk/gtkrecentfilter.c index 1f2b1fbf2..40897053c 100644 --- a/gtk/gtkrecentfilter.c +++ b/gtk/gtkrecentfilter.c @@ -21,6 +21,8 @@ #include "config.h" #include +#include + #include "gtkrecentfilter.h" #include "gtkintl.h" #include "gtkprivate.h" diff --git a/gtk/gtkrecentmanager.c b/gtk/gtkrecentmanager.c index c14f9e5af..19b7cee18 100644 --- a/gtk/gtkrecentmanager.c +++ b/gtk/gtkrecentmanager.c @@ -103,6 +103,7 @@ #include "gtkrecentmanager.h" #include "gtkintl.h" +#include "gtksettings.h" #include "gtkstock.h" #include "gtkicontheme.h" #include "gtktypebuiltins.h" diff --git a/gtk/gtksearchenginesimple.c b/gtk/gtksearchenginesimple.c index f311c192f..20698b254 100644 --- a/gtk/gtksearchenginesimple.c +++ b/gtk/gtksearchenginesimple.c @@ -34,6 +34,8 @@ #include #endif +#include + #include "gtksearchenginesimple.h" #include "gtkprivate.h" @@ -188,6 +190,7 @@ send_batch (SearchThreadData *data) gdk_threads_add_idle (search_thread_add_hits_idle, hits); } + data->uri_hits = NULL; } diff --git a/gtk/gtksizegroup.c b/gtk/gtksizegroup.c index 62ce9ea7e..be24f6486 100644 --- a/gtk/gtksizegroup.c +++ b/gtk/gtksizegroup.c @@ -20,13 +20,13 @@ #include "config.h" #include + +#include "gtkbuildable.h" #include "gtkcontainer.h" #include "gtkintl.h" #include "gtkprivate.h" #include "gtksizegroup-private.h" -#include "gtkbuildable.h" - - +#include "gtkwidgetprivate.h" struct _GtkSizeGroupPrivate { diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index c3d0398fa..55979f41b 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -22,11 +22,14 @@ */ #include + #include "gtksizerequest.h" -#include "gtksizegroup-private.h" + #include "gtkdebug.h" -#include "gtkprivate.h" #include "gtkintl.h" +#include "gtkprivate.h" +#include "gtksizegroup-private.h" +#include "gtkwidgetprivate.h" /* looks for a cached size request for this for_size. If not * found, returns the oldest entry so it can be overwritten diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 3c28fdebb..a41a2479b 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -47,6 +47,7 @@ #include "gdk/gdkkeysyms.h" #include "gtkprivate.h" #include "gtktextutil.h" +#include "gtkwidgetprivate.h" #include "gtkwindow.h" diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 662b7e094..6dc0bfaf1 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -45,6 +45,7 @@ #include "gtktreemodelsort.h" #include "gtktooltip.h" #include "gtkprivate.h" +#include "gtkwidgetprivate.h" #define GTK_TREE_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5) #define GTK_TREE_VIEW_PRIORITY_SCROLL_SYNC (GTK_TREE_VIEW_PRIORITY_VALIDATE + 2) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 38fab006b..98429e1b4 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -42,6 +42,7 @@ #include "gtksettings.h" #include "gtksizegroup-private.h" #include "gtkwidget.h" +#include "gtkwidgetprivate.h" #include "gtkwindow.h" #include "gtkbindings.h" #include "gtkprivate.h" diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h new file mode 100644 index 000000000..b31efd9b5 --- /dev/null +++ b/gtk/gtkwidgetprivate.h @@ -0,0 +1,93 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * 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, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __GTK_WIDGET_PRIVATE_H__ +#define __GTK_WIDGET_PRIVATE_H__ + +G_BEGIN_DECLS + +/* With GtkWidget, a widget may be requested + * its width for 2 or maximum 3 heights in one resize + * (Note this define is limited by the bitfield sizes + * defined on the SizeRequestCache structure). + */ +#define GTK_SIZE_REQUEST_CACHED_SIZES (3) + +typedef struct +{ + /* the size this request is for */ + gint for_size; + + gint minimum_size; + gint natural_size; +} SizeRequest; + +typedef struct { + SizeRequest widths[GTK_SIZE_REQUEST_CACHED_SIZES]; + SizeRequest heights[GTK_SIZE_REQUEST_CACHED_SIZES]; + + guint cached_widths : 2; + guint cached_heights : 2; + guint last_cached_width : 2; + guint last_cached_height : 2; +} SizeRequestCache; + +void _gtk_widget_set_visible_flag (GtkWidget *widget, + gboolean visible); +gboolean _gtk_widget_get_resize_pending (GtkWidget *widget); +void _gtk_widget_set_resize_pending (GtkWidget *widget, + gboolean resize_pending); +gboolean _gtk_widget_get_in_reparent (GtkWidget *widget); +void _gtk_widget_set_in_reparent (GtkWidget *widget, + gboolean in_reparent); +gboolean _gtk_widget_get_anchored (GtkWidget *widget); +void _gtk_widget_set_anchored (GtkWidget *widget, + gboolean anchored); +gboolean _gtk_widget_get_shadowed (GtkWidget *widget); +void _gtk_widget_set_shadowed (GtkWidget *widget, + gboolean shadowed); +gboolean _gtk_widget_get_alloc_needed (GtkWidget *widget); +void _gtk_widget_set_alloc_needed (GtkWidget *widget, + gboolean alloc_needed); +gboolean _gtk_widget_get_width_request_needed (GtkWidget *widget); +void _gtk_widget_set_width_request_needed (GtkWidget *widget, + gboolean width_request_needed); +gboolean _gtk_widget_get_height_request_needed (GtkWidget *widget); +void _gtk_widget_set_height_request_needed (GtkWidget *widget, + gboolean height_request_needed); + +void _gtk_widget_override_size_request (GtkWidget *widget, + int width, + int height, + int *old_width, + int *old_height); +void _gtk_widget_restore_size_request (GtkWidget *widget, + int old_width, + int old_height); + +G_END_DECLS + +#endif /* __GTK_WIDGET_PRIVATE_H__ */ diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 00b4aaa39..7db0793e5 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -47,8 +47,8 @@ #include "gtkicontheme.h" #include "gtkmarshalers.h" #include "gtkplug.h" -#include "gtkprivate.h" #include "gtkbuildable.h" +#include "gtkwidgetprivate.h" #ifdef GDK_WINDOWING_X11 #include "x11/gdkx.h" -- 2.43.2