X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gdk%2Fgdkkeys.c;h=6953b4642683971f3f6448bb49fc7b84fb796ac4;hb=25e3329215a11190a4846dada95d8fd305ac74f8;hp=d942dadeade096ac070b9d6e757b2bbbcfb820bb;hpb=a16b63eb359a5b85c9a34ab7e5a25009e4f7a452;p=~andy%2Fgtk diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index d942dadea..6953b4642 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -24,56 +24,39 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ -#include +#include "config.h" #include "gdkdisplay.h" #include "gdkkeys.h" +#include "gdkalias.h" enum { DIRECTION_CHANGED, KEYS_CHANGED, + STATE_CHANGED, LAST_SIGNAL }; -static void gdk_keymap_class_init (GdkKeymapClass *klass); - static guint signals[LAST_SIGNAL] = { 0 }; -GType -gdk_keymap_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - static const GTypeInfo object_info = - { - sizeof (GdkKeymapClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_keymap_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkKeymap), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL, - }; - - object_type = g_type_register_static (G_TYPE_OBJECT, - "GdkKeymap", - &object_info, 0); - } - - return object_type; -} +G_DEFINE_TYPE (GdkKeymap, gdk_keymap, G_TYPE_OBJECT) static void gdk_keymap_class_init (GdkKeymapClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); + /** + * GdkKeymap::direction-changed: + * @keymap: the object on which the signal is emitted + * + * The ::direction-changed signal gets emitted when the direction of + * the keymap changes. + * + * Since: 2.0 + */ signals[DIRECTION_CHANGED] = - g_signal_new ("direction_changed", + g_signal_new ("direction-changed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GdkKeymapClass, direction_changed), @@ -81,15 +64,49 @@ gdk_keymap_class_init (GdkKeymapClass *klass) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + /** + * GdkKeymap::keys-changed: + * @keymap: the object on which the signal is emitted + * + * The ::keys-changed signal is emitted when the mapping represented by + * @keymap changes. + * + * Since: 2.2 + */ signals[KEYS_CHANGED] = - g_signal_new ("keys_changed", + g_signal_new ("keys-changed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GdkKeymapClass, direction_changed), + G_STRUCT_OFFSET (GdkKeymapClass, keys_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + + /** + * GdkKeymap::state-changed: + * @keymap: the object on which the signal is emitted + * + * The ::state-changed signal is emitted when the state of the + * keyboard changes, e.g when Caps Lock is turned on or off. + * See gdk_keymap_get_caps_lock_state(). + * + * Since: 2.16 + */ + signals[STATE_CHANGED] = + g_signal_new ("state_changed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GdkKeymapClass, state_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); +} + +static void +gdk_keymap_init (GdkKeymap *keymap) +{ } /* Other key-handling stuff @@ -104,12 +121,12 @@ gdk_keymap_class_init (GdkKeymapClass *klass) /** * gdk_keyval_convert_case: * @symbol: a keyval - * @lower: return location for lowercase version of @symbol - * @upper: return location for uppercase version of @symbol + * @lower: (out): return location for lowercase version of @symbol + * @upper: (out): return location for uppercase version of @symbol * * Obtains the upper- and lower-case versions of the keyval @symbol. * Examples of keyvals are #GDK_a, #GDK_Enter, #GDK_F1, etc. - * + * **/ void gdk_keyval_convert_case (guint symbol, @@ -294,3 +311,6 @@ gdk_keymap_get_default (void) { return gdk_keymap_get_for_display (gdk_display_get_default ()); } + +#define __GDK_KEYS_C__ +#include "gdkaliasdef.c"