Move GtkAccelGroup private structure to shared header file

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=602174
This commit is contained in:
Javier Jardón 2009-11-30 04:51:58 +01:00
parent 341d8605b6
commit f39f644fb2
5 changed files with 42 additions and 11 deletions

View File

@ -166,6 +166,7 @@ gtk_public_h_sources = \
gtkaccessible.h \ gtkaccessible.h \
gtkaction.h \ gtkaction.h \
gtkactiongroup.h \ gtkactiongroup.h \
gtkaccelgroupprivate.h \
gtkactivatable.h \ gtkactivatable.h \
gtkadjustment.h \ gtkadjustment.h \
gtkalignment.h \ gtkalignment.h \

View File

@ -29,6 +29,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "gtkaccelgroup.h" #include "gtkaccelgroup.h"
#include "gtkaccelgroupprivate.h"
#include "gtkaccellabel.h" /* For _gtk_accel_label_class_get_accelerator_label */ #include "gtkaccellabel.h" /* For _gtk_accel_label_class_get_accelerator_label */
#include "gtkaccelmap.h" #include "gtkaccelmap.h"
#include "gtkintl.h" #include "gtkintl.h"
@ -64,15 +65,6 @@
#define GTK_ACCEL_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_ACCEL_GROUP, GtkAccelGroupPrivate)) #define GTK_ACCEL_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_ACCEL_GROUP, GtkAccelGroupPrivate))
struct _GtkAccelGroupPrivate
{
guint lock_count;
GdkModifierType modifier_mask;
GSList *acceleratables;
guint n_accels;
GtkAccelGroupEntry *priv_accels;
};
/* --- prototypes --- */ /* --- prototypes --- */
static void gtk_accel_group_finalize (GObject *object); static void gtk_accel_group_finalize (GObject *object);
static void gtk_accel_group_get_property (GObject *object, static void gtk_accel_group_get_property (GObject *object,

View File

@ -0,0 +1,36 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) Javier Jardón <jjardon@gnome.org>
*
* 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.
*/
#ifndef __GTK_ACCEL_GROUP_PRIVATE_H__
#define __GTK_ACCEL_GROUP_PRIVATE_H__
#define GTK_ACCEL_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_ACCEL_GROUP, GtkAccelGroupPrivate))
struct _GtkAccelGroupPrivate
{
guint lock_count;
GdkModifierType modifier_mask;
GSList *acceleratables;
guint n_accels;
GtkAccelGroupEntry *priv_accels;
};
#endif /* __GTK_ACCEL_GROUP_PRIVATE_H__ */

View File

@ -8167,9 +8167,9 @@ _gtk_window_keys_foreach (GtkWindow *window,
GtkAccelGroup *group = groups->data; GtkAccelGroup *group = groups->data;
gint i; gint i;
for (i = 0; i < group->n_accels; i++) for (i = 0; i < group->priv->n_accels; i++)
{ {
GtkAccelKey *key = &group->priv_accels[i].key; GtkAccelKey *key = &group->priv->priv_accels[i].key;
if (key->accel_key) if (key->accel_key)
(*func) (window, key->accel_key, key->accel_mods, FALSE, func_data); (*func) (window, key->accel_key, key->accel_mods, FALSE, func_data);

View File

@ -35,6 +35,8 @@
#include <gtk/gtkaccelgroup.h> #include <gtk/gtkaccelgroup.h>
#include <gtk/gtkbin.h> #include <gtk/gtkbin.h>
#include "gtk/gtkaccelgroupprivate.h"
G_BEGIN_DECLS G_BEGIN_DECLS