Mercurial > pidgin
view finch/libgnt/gntbindable.h @ 17044:53e757c37e06
Ignore bold, underline and other formatting type things in SPAN tags if
"Show formatting on incoming messages" is turned off. This makes handling
of these things consistent with other formatting tags.
Fixes #520.
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Fri, 11 May 2007 20:06:57 +0000 |
parents | 5187395d6b78 |
children | 8410511f4dbb |
line wrap: on
line source
#ifndef GNT_BINDABLE_H #define GNT_BINDABLE_H #include <stdio.h> #include <glib.h> #include <glib-object.h> #include <ncurses.h> #define GNT_TYPE_BINDABLE (gnt_bindable_get_gtype()) #define GNT_BINDABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_BINDABLE, GntBindable)) #define GNT_BINDABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_BINDABLE, GntBindableClass)) #define GNT_IS_BINDABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_BINDABLE)) #define GNT_IS_BINDABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_BINDABLE)) #define GNT_BINDABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_BINDABLE, GntBindableClass)) #define GNTDEBUG typedef struct _GntBindable GntBindable; typedef struct _GntBindableClass GntBindableClass; struct _GntBindable { GObject inherit; }; struct _GntBindableClass { GObjectClass parent; GHashTable *remaps; /* Key remaps */ GHashTable *actions; /* name -> Action */ GHashTable *bindings; /* key -> ActionParam */ void (*gnt_reserved1)(void); void (*gnt_reserved2)(void); void (*gnt_reserved3)(void); void (*gnt_reserved4)(void); }; G_BEGIN_DECLS GType gnt_bindable_get_gtype(void); /******************/ /* Key Remaps */ /******************/ const char * gnt_bindable_remap_keys(GntBindable *bindable, const char *text); /******************/ /* Bindable Actions */ /******************/ typedef gboolean (*GntBindableActionCallback) (GntBindable *bindable, GList *params); typedef gboolean (*GntBindableActionCallbackNoParam)(GntBindable *bindable); typedef struct _GntBindableAction GntBindableAction; typedef struct _GntBindableActionParam GntBindableActionParam; struct _GntBindableAction { char *name; /* The name of the action */ union { gboolean (*action)(GntBindable *bindable, GList *params); gboolean (*action_noparam)(GntBindable *bindable); } u; }; struct _GntBindableActionParam { GntBindableAction *action; GList *list; }; /*GntBindableAction *gnt_bindable_action_parse(const char *name);*/ void gnt_bindable_action_free(GntBindableAction *action); void gnt_bindable_action_param_free(GntBindableActionParam *param); void gnt_bindable_class_register_action(GntBindableClass *klass, const char *name, GntBindableActionCallback callback, const char *trigger, ...); void gnt_bindable_register_binding(GntBindableClass *klass, const char *name, const char *trigger, ...); gboolean gnt_bindable_perform_action_key(GntBindable *bindable, const char *keys); gboolean gnt_bindable_perform_action_named(GntBindable *bindable, const char *name, ...); G_END_DECLS #endif /* GNT_BINDABLE_H */