<< Back to man.ChinaUnix.net

<< Back to man.ChinaUnix.net

Bindings

Bindings — Key bindings for individual widgets

Synopsis


#include <gtk/gtk.h>


            GtkBindingSet;
            GtkBindingEntry;
            GtkBindingSignal;
            GtkBindingArg;
GtkBindingSet* gtk_binding_set_new          (const gchar *set_name);
GtkBindingSet* gtk_binding_set_by_class     (gpointer object_class);
GtkBindingSet* gtk_binding_set_find         (const gchar *set_name);
gboolean    gtk_bindings_activate           (GtkObject *object,
                                             guint keyval,
                                             GdkModifierType modifiers);
gboolean    gtk_bindings_activate_event     (GtkObject *object,
                                             GdkEventKey *event);
gboolean    gtk_binding_set_activate        (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers,
                                             GtkObject *object);
#define     gtk_binding_entry_add
void        gtk_binding_entry_clear         (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers);
void        gtk_binding_entry_add_signal    (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers,
                                             const gchar *signal_name,
                                             guint n_args,
                                             ...);
void        gtk_binding_set_add_path        (GtkBindingSet *binding_set,
                                             GtkPathType path_type,
                                             const gchar *path_pattern,
                                             GtkPathPriorityType priority);
void        gtk_binding_entry_remove        (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers);
void        gtk_binding_entry_add_signall   (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers,
                                             const gchar *signal_name,
                                             GSList *binding_args);
guint       gtk_binding_parse_binding       (GScanner *scanner);

Description

Details

GtkBindingSet

typedef struct {
  gchar			*set_name;
  gint			 priority;
  GSList		*widget_path_pspecs;
  GSList		*widget_class_pspecs;
  GSList		*class_branch_pspecs;
  GtkBindingEntry	*entries;
  GtkBindingEntry	*current;
  guint                  parsed : 1; /* From RC content */
} GtkBindingSet;


GtkBindingEntry

typedef struct {
  /* key portion
   */
  guint			 keyval;
  GdkModifierType	 modifiers;
  
  GtkBindingSet		*binding_set;
  guint			destroyed : 1;
  guint			in_emission : 1;
  GtkBindingEntry	*set_next;
  GtkBindingEntry	*hash_next;
  GtkBindingSignal	*signals;
} GtkBindingEntry;


GtkBindingSignal

typedef struct {
  GtkBindingSignal	*next;
  gchar			*signal_name;
  guint			 n_args;
  GtkBindingArg		*args;
} GtkBindingSignal;


GtkBindingArg

typedef struct {
  GType		 arg_type;
  union {
    glong	 long_data;
    gdouble	 double_data;
    gchar	*string_data;
  } d;
} GtkBindingArg;


gtk_binding_set_new ()

GtkBindingSet* gtk_binding_set_new          (const gchar *set_name);

set_name :
Returns :

gtk_binding_set_by_class ()

GtkBindingSet* gtk_binding_set_by_class     (gpointer object_class);

object_class :
Returns :

gtk_binding_set_find ()

GtkBindingSet* gtk_binding_set_find         (const gchar *set_name);

set_name :
Returns :

gtk_bindings_activate ()

gboolean    gtk_bindings_activate           (GtkObject *object,
                                             guint keyval,
                                             GdkModifierType modifiers);

object :
keyval :
modifiers :
Returns :

gtk_bindings_activate_event ()

gboolean    gtk_bindings_activate_event     (GtkObject *object,
                                             GdkEventKey *event);

Looks up key bindings for object to find one matching event, and if one was found, activate it.

object : a GtkObject (generally must be a widget)
event : a GdkEventKey
Returns : TRUE if a matching key binding was found

gtk_binding_set_activate ()

gboolean    gtk_binding_set_activate        (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers,
                                             GtkObject *object);

binding_set :
keyval :
modifiers :
object :
Returns :

gtk_binding_entry_add

#define	 gtk_binding_entry_add		gtk_binding_entry_clear


gtk_binding_entry_clear ()

void        gtk_binding_entry_clear         (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers);

binding_set :
keyval :
modifiers :

gtk_binding_entry_add_signal ()

void        gtk_binding_entry_add_signal    (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers,
                                             const gchar *signal_name,
                                             guint n_args,
                                             ...);

binding_set :
keyval :
modifiers :
signal_name :
n_args :
... :

gtk_binding_set_add_path ()

void        gtk_binding_set_add_path        (GtkBindingSet *binding_set,
                                             GtkPathType path_type,
                                             const gchar *path_pattern,
                                             GtkPathPriorityType priority);

binding_set :
path_type :
path_pattern :
priority :

gtk_binding_entry_remove ()

void        gtk_binding_entry_remove        (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers);

binding_set :
keyval :
modifiers :

gtk_binding_entry_add_signall ()

void        gtk_binding_entry_add_signall   (GtkBindingSet *binding_set,
                                             guint keyval,
                                             GdkModifierType modifiers,
                                             const gchar *signal_name,
                                             GSList *binding_args);

binding_set :
keyval :
modifiers :
signal_name :
binding_args :

gtk_binding_parse_binding ()

guint       gtk_binding_parse_binding       (GScanner *scanner);

scanner :
Returns :