X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkaccellabel.h;h=f7b6084931994c114b2f773f39331272e5e3cae6;hb=d97861bd8b338c3d25d7ffb5496edee9eee9bfbb;hp=c0233bf7e2c71272c9becdcc2a73bfa4843cf276;hpb=c1665b14414bc04237da947b187283f6db8a721f;p=~andy%2Fgtk diff --git a/gtk/gtkaccellabel.h b/gtk/gtkaccellabel.h index c0233bf7e..f7b608493 100644 --- a/gtk/gtkaccellabel.h +++ b/gtk/gtkaccellabel.h @@ -5,52 +5,61 @@ * Copyright (C) 1998 Tim Janik * * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public + * 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 - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library 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. + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . */ + +/* + * Modified by the GTK+ Team and others 1997-2001. 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_ACCEL_LABEL_H__ #define __GTK_ACCEL_LABEL_H__ -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif +#include -#ifdef __cplusplus -extern "C" { -#pragma } -#endif /* __cplusplus */ +G_BEGIN_DECLS #define GTK_TYPE_ACCEL_LABEL (gtk_accel_label_get_type ()) -#define GTK_ACCEL_LABEL(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ACCEL_LABEL, GtkAccelLabel)) -#define GTK_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ACCEL_LABEL, GtkAccelLabelClass)) -#define GTK_IS_ACCEL_LABEL(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ACCEL_LABEL)) -#define GTK_IS_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ACCEL_LABEL)) +#define GTK_ACCEL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ACCEL_LABEL, GtkAccelLabel)) +#define GTK_ACCEL_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ACCEL_LABEL, GtkAccelLabelClass)) +#define GTK_IS_ACCEL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ACCEL_LABEL)) +#define GTK_IS_ACCEL_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ACCEL_LABEL)) +#define GTK_ACCEL_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ACCEL_LABEL, GtkAccelLabelClass)) -typedef struct _GtkAccelLabel GtkAccelLabel; -typedef struct _GtkAccelLabelClass GtkAccelLabelClass; +typedef struct _GtkAccelLabel GtkAccelLabel; +typedef struct _GtkAccelLabelClass GtkAccelLabelClass; +typedef struct _GtkAccelLabelPrivate GtkAccelLabelPrivate; +/** + * GtkAccelLabel: + * + * The #GtkAccelLabel-struct struct contains private data only, and + * should be accessed using the functions below. + */ struct _GtkAccelLabel { GtkLabel label; - - guint queue_id; - guint accel_padding; - GtkWidget *accel_widget; - gchar *accel_string; - guint accel_string_width : 16; + GtkAccelLabelPrivate *priv; }; struct _GtkAccelLabelClass @@ -63,21 +72,34 @@ struct _GtkAccelLabelClass gchar *mod_name_control; gchar *mod_name_alt; gchar *mod_separator; - gchar *accel_seperator; - guint latin1_to_char : 1; -}; - - -GtkType gtk_accel_label_get_type (void); -GtkWidget* gtk_accel_label_new (const gchar *string); -void gtk_accel_label_set_accel_widget (GtkAccelLabel *accel_label, - GtkWidget *accel_widget); -gboolean gtk_accel_label_refetch (GtkAccelLabel *accel_label); + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); +}; -#ifdef __cplusplus -} -#endif /* __cplusplus */ +GType gtk_accel_label_get_type (void) G_GNUC_CONST; +GtkWidget* gtk_accel_label_new (const gchar *string); +GtkWidget* gtk_accel_label_get_accel_widget (GtkAccelLabel *accel_label); +guint gtk_accel_label_get_accel_width (GtkAccelLabel *accel_label); +void gtk_accel_label_set_accel_widget (GtkAccelLabel *accel_label, + GtkWidget *accel_widget); +void gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label, + GClosure *accel_closure); +gboolean gtk_accel_label_refetch (GtkAccelLabel *accel_label); +GDK_AVAILABLE_IN_3_6 +void gtk_accel_label_set_accel (GtkAccelLabel *accel_label, + guint accelerator_key, + GdkModifierType accelerator_mods); + +/* private */ +gchar * _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass, + guint accelerator_key, + GdkModifierType accelerator_mods); + +G_END_DECLS #endif /* __GTK_ACCEL_LABEL_H__ */