]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkbindings.c
Update about dialog design to not use a swarm of dialogs
[~andy/gtk] / gtk / gtkbindings.c
index db5d83a722de51140749e0c21f86744a5a6ed576..6973a6a2bbe2c1dd72073a6cb6519f1b50afff30 100644 (file)
@@ -1,7 +1,7 @@
 /* GTK - The GIMP Toolkit
  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  *
- * GtkBindingSet: Keybinding manager for GtkObjects.
+ * GtkBindingSet: Keybinding manager for GObjects.
  * Copyright (C) 1998 Tim Janik
  *
  * This library is free software; you can redistribute it and/or
@@ -34,9 +34,9 @@
 
 #include "gtkbindings.h"
 #include "gtkkeyhash.h"
+#include "gtktypeutils.h"
 #include "gtkwidget.h"
 #include "gtkrc.h"
-#include "gtkalias.h"
 
 
 /* --- defines --- */
@@ -132,8 +132,8 @@ binding_key_hash_insert_entry (GtkKeyHash      *key_hash,
    */
   if (entry->modifiers & GDK_SHIFT_MASK)
     {
-      if (keyval == GDK_Tab)
-       keyval = GDK_ISO_Left_Tab;
+      if (keyval == GDK_KEY_Tab)
+       keyval = GDK_KEY_ISO_Left_Tab;
       else
        keyval = gdk_keyval_to_upper (keyval);
     }
@@ -341,7 +341,7 @@ binding_ht_lookup_entry (GtkBindingSet  *set,
 }
 
 static gboolean
-binding_compose_params (GtkObject       *object,
+binding_compose_params (GObject         *object,
                        GtkBindingArg   *args,
                        GSignalQuery    *query,
                        GValue         **params_p)
@@ -470,7 +470,7 @@ binding_compose_params (GtkObject       *object,
 
 static gboolean
 gtk_binding_entry_activate (GtkBindingEntry *entry,
-                           GtkObject       *object)
+                           GObject         *object)
 {
   GtkBindingSignal *sig;
   gboolean old_emission;
@@ -594,7 +594,7 @@ gtk_binding_set_new (const gchar *set_name)
 
 /**
  * gtk_binding_set_by_class:
- * @object_class: a valid #GtkObject class
+ * @object_class: a valid #GObject class
  *
  * This function returns the binding set named after the type name of
  * the passed in class structure. New binding sets are created on
@@ -605,10 +605,10 @@ gtk_binding_set_new (const gchar *set_name)
 GtkBindingSet*
 gtk_binding_set_by_class (gpointer object_class)
 {
-  GtkObjectClass *class = object_class;
+  GObjectClass *class = object_class;
   GtkBindingSet* binding_set;
 
-  g_return_val_if_fail (GTK_IS_OBJECT_CLASS (class), NULL);
+  g_return_val_if_fail (G_IS_OBJECT_CLASS (class), NULL);
 
   if (!key_id_class_binding_set)
     key_id_class_binding_set = g_quark_from_static_string (key_class_binding_set);
@@ -672,12 +672,12 @@ gboolean
 gtk_binding_set_activate (GtkBindingSet         *binding_set,
                          guint           keyval,
                          GdkModifierType modifiers,
-                         GtkObject      *object)
+                         GObject        *object)
 {
   GtkBindingEntry *entry;
   
   g_return_val_if_fail (binding_set != NULL, FALSE);
-  g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE);
+  g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
   
   keyval = gdk_keyval_to_lower (keyval);
   modifiers = modifiers & BINDING_MOD_MASK ();
@@ -706,37 +706,6 @@ gtk_binding_entry_clear_internal (GtkBindingSet  *binding_set,
   entry = binding_entry_new (binding_set, keyval, modifiers);
 }
 
-/**
- * gtk_binding_entry_add:
- * @binding_set: #a GtkBindingSet to clear an entry of
- * @keyval:      key value of binding to clear
- * @modifiers:   key modifier of binding to clear
- *
- * Adds a binding entry.
- *
- * Deprecated: 2.12: Use gtk_binding_entry_add_signal() instead.
- */
-
-/**
- * gtk_binding_entry_clear:
- * @binding_set: binding set to clear an entry of
- * @keyval:      key value of binding to clear
- * @modifiers:   key modifier of binding to clear
- *
- * Clears a binding entry.
- *
- * Deprecated: 2.12: Use gtk_binding_entry_remove() instead.
- */
-void
-gtk_binding_entry_clear (GtkBindingSet *binding_set,
-                        guint           keyval,
-                        GdkModifierType modifiers)
-{
-  g_return_if_fail (binding_set != NULL);
-
-  gtk_binding_entry_clear_internal (binding_set, keyval, modifiers);
-}
-
 /**
  * gtk_binding_entry_skip:
  * @binding_set: a #GtkBindingSet to skip an entry of
@@ -801,7 +770,8 @@ gtk_binding_entry_remove (GtkBindingSet      *binding_set,
  * @keyval:       key value
  * @modifiers:    key modifier
  * @signal_name:  signal name to be bound
- * @binding_args: list of #GtkBindingArg signal arguments
+ * @binding_args: (transfer none) (element-type GtkBindingArg):
+ *     list of #GtkBindingArg signal arguments
  *
  * Override or install a new key binding for @keyval with @modifiers on
  * @binding_set.
@@ -1083,7 +1053,7 @@ gtk_binding_set_add_path (GtkBindingSet        *binding_set,
 
 static gboolean
 binding_match_activate (GSList          *pspec_list,
-                       GtkObject       *object,
+                       GObject         *object,
                        guint            path_length,
                        gchar           *path,
                        gchar           *path_reversed,
@@ -1201,7 +1171,7 @@ gtk_binding_entries_sort_patterns (GSList      *entries,
 }
 
 static gboolean
-gtk_bindings_activate_list (GtkObject *object,
+gtk_bindings_activate_list (GObject   *object,
                            GSList    *entries,
                            gboolean   is_release)
 {
@@ -1295,7 +1265,7 @@ gtk_bindings_activate_list (GtkObject *object,
  * Return value: %TRUE if a binding was found and activated
  */
 gboolean
-gtk_bindings_activate (GtkObject       *object,
+gtk_bindings_activate (GObject         *object,
                       guint            keyval,
                       GdkModifierType  modifiers)
 {
@@ -1305,8 +1275,6 @@ gtk_bindings_activate (GtkObject       *object,
   gboolean handled = FALSE;
   gboolean is_release;
 
-  g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE);
-
   if (!GTK_IS_WIDGET (object))
     return FALSE;
 
@@ -1327,7 +1295,7 @@ gtk_bindings_activate (GtkObject       *object,
 
 /**
  * gtk_bindings_activate_event:
- * @object: a #GtkObject (generally must be a widget)
+ * @object: a #GObject (generally must be a widget)
  * @event: a #GdkEventKey
  * 
  * Looks up key bindings for @object to find one matching
@@ -1338,7 +1306,7 @@ gtk_bindings_activate (GtkObject       *object,
  * Since: 2.4
  */
 gboolean
-gtk_bindings_activate_event (GtkObject   *object,
+gtk_bindings_activate_event (GObject     *object,
                              GdkEventKey *event)
 {
   GSList *entries = NULL;
@@ -1346,8 +1314,6 @@ gtk_bindings_activate_event (GtkObject   *object,
   GtkKeyHash *key_hash;
   gboolean handled = FALSE;
 
-  g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE);
-
   if (!GTK_IS_WIDGET (object))
     return FALSE;
 
@@ -1382,6 +1348,7 @@ gtk_binding_parse_signal (GScanner       *scanner,
   gboolean negate;
   gboolean need_arg;
   gboolean seen_comma;
+  guint token;
 
   g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
   
@@ -1409,8 +1376,9 @@ gtk_binding_parse_signal (GScanner       *scanner,
        expected_token = G_TOKEN_INT;
       else
        expected_token = ')';
-      g_scanner_get_next_token (scanner);
-      switch (scanner->token)
+
+      token = g_scanner_get_next_token (scanner);
+      switch (token)
        {
          GtkBindingArg *arg;
 
@@ -1533,14 +1501,15 @@ gtk_binding_parse_bind (GScanner       *scanner,
   guint keyval = 0;
   GdkModifierType modifiers = 0;
   gboolean unbind = FALSE;
+  guint token;
 
   g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
-  
-  g_scanner_get_next_token (scanner);
-  if (scanner->token != GTK_RC_TOKEN_BIND &&
-      scanner->token != GTK_RC_TOKEN_UNBIND)
+
+  token = g_scanner_get_next_token (scanner);
+  if (token != GTK_RC_TOKEN_BIND &&
+      token != GTK_RC_TOKEN_UNBIND)
     return GTK_RC_TOKEN_BIND;
-  unbind = scanner->token == GTK_RC_TOKEN_UNBIND;
+  unbind = token == GTK_RC_TOKEN_UNBIND;
   g_scanner_get_next_token (scanner);
   if (scanner->token != G_TOKEN_STRING)
     return G_TOKEN_STRING;
@@ -1588,32 +1557,17 @@ gtk_binding_parse_bind (GScanner       *scanner,
   return G_TOKEN_NONE;
 }
 
-/**
- * gtk_binding_parse_binding:
- * @scanner: GtkRC scanner
- *
- * Parse a binding entry from a gtkrc file.
- *
- * Return value: expected token upon errors, %G_TOKEN_NONE on success.
- *
- * Deprecated: 2.12: There should be no need to call this function outside GTK+.
- */
-guint
-gtk_binding_parse_binding (GScanner *scanner)
-{
-  return _gtk_binding_parse_binding (scanner);
-}
-
 guint
 _gtk_binding_parse_binding (GScanner *scanner)
 {
-  gchar *name;
   GtkBindingSet *binding_set;
+  gchar *name;
+  guint token;
 
   g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
 
-  g_scanner_get_next_token (scanner);
-  if (scanner->token != GTK_RC_TOKEN_BINDING)
+  token = g_scanner_get_next_token (scanner);
+  if (token != GTK_RC_TOKEN_BINDING)
     return GTK_RC_TOKEN_BINDING;
   g_scanner_get_next_token (scanner);
   if (scanner->token != G_TOKEN_STRING)
@@ -1638,7 +1592,8 @@ _gtk_binding_parse_binding (GScanner *scanner)
   g_scanner_peek_next_token (scanner);
   while (scanner->next_token != '}')
     {
-      switch (scanner->next_token)
+      guint next_token = scanner->next_token;
+      switch (next_token)
        {
          guint expected_token;
 
@@ -1723,6 +1678,3 @@ _gtk_binding_reset_parsed (void)
       slist = next;
     }
 }
-
-#define __GTK_BINDINGS_C__
-#include "gtkaliasdef.c"