X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkimcontext.h;h=55fe53f8710171adc2a8131531412fc3134a81e6;hb=9f41970832b60f3cf6644dfbd154df7ec24f26ce;hp=3f8ea707f9aac3225c8b192cc7c2a703371abf2f;hpb=df726ee8889e975ad4ee3143e0e8462c775244a1;p=~andy%2Fgtk diff --git a/gtk/gtkimcontext.h b/gtk/gtkimcontext.h index 3f8ea707f..55fe53f87 100644 --- a/gtk/gtkimcontext.h +++ b/gtk/gtkimcontext.h @@ -12,29 +12,28 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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. + * License along with this library. If not, see . */ #ifndef __GTK_IM_CONTEXT_H__ #define __GTK_IM_CONTEXT_H__ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include -#include -#include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS #define GTK_TYPE_IM_CONTEXT (gtk_im_context_get_type ()) -#define GTK_IM_CONTEXT(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IM_CONTEXT, GtkIMContext)) -#define GTK_IM_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_CONTEXT, GtkIMContextClass)) -#define GTK_IS_IM_CONTEXT(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IM_CONTEXT)) -#define GTK_IS_IM_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_CONTEXT)) -#define GTK_IM_CONTEXT_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_IM_CONTEXT, GtkIMContextClass)) +#define GTK_IM_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IM_CONTEXT, GtkIMContext)) +#define GTK_IM_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_CONTEXT, GtkIMContextClass)) +#define GTK_IS_IM_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IM_CONTEXT)) +#define GTK_IS_IM_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_CONTEXT)) +#define GTK_IM_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IM_CONTEXT, GtkIMContextClass)) typedef struct _GtkIMContext GtkIMContext; @@ -42,54 +41,86 @@ typedef struct _GtkIMContextClass GtkIMContextClass; struct _GtkIMContext { - GtkObject object; + GObject parent_instance; }; struct _GtkIMContextClass { - GtkObjectClass parent_class; + /*< private >*/ + GObjectClass parent_class; + /*< public >*/ /* Signals */ - void (*preedit_start) (GtkIMContext *context); - void (*preedit_end) (GtkIMContext *context); - void (*preedit_changed) (GtkIMContext *context); - void (*commit) (GtkIMContext *context, const gchar *str); + void (*preedit_start) (GtkIMContext *context); + void (*preedit_end) (GtkIMContext *context); + void (*preedit_changed) (GtkIMContext *context); + void (*commit) (GtkIMContext *context, const gchar *str); + gboolean (*retrieve_surrounding) (GtkIMContext *context); + gboolean (*delete_surrounding) (GtkIMContext *context, + gint offset, + gint n_chars); /* Virtual functions */ - void (*set_client_window) (GtkIMContext *context, - GdkWindow *window); - void (*get_preedit_string) (GtkIMContext *context, - gchar **str, - PangoAttrList **attrs, - gint *cursor_pos); - gboolean (*filter_keypress) (GtkIMContext *context, - GdkEventKey *event); - void (*focus_in) (GtkIMContext *context); - void (*focus_out) (GtkIMContext *context); - void (*reset) (GtkIMContext *context); + void (*set_client_window) (GtkIMContext *context, + GdkWindow *window); + void (*get_preedit_string) (GtkIMContext *context, + gchar **str, + PangoAttrList **attrs, + gint *cursor_pos); + gboolean (*filter_keypress) (GtkIMContext *context, + GdkEventKey *event); + void (*focus_in) (GtkIMContext *context); + void (*focus_out) (GtkIMContext *context); + void (*reset) (GtkIMContext *context); void (*set_cursor_location) (GtkIMContext *context, - GdkRectangle *area); + GdkRectangle *area); + void (*set_use_preedit) (GtkIMContext *context, + gboolean use_preedit); + void (*set_surrounding) (GtkIMContext *context, + const gchar *text, + gint len, + gint cursor_index); + gboolean (*get_surrounding) (GtkIMContext *context, + gchar **text, + gint *cursor_index); + /*< private >*/ + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); }; -GtkType gtk_im_context_get_type (void) G_GNUC_CONST; - -void gtk_im_context_set_client_window (GtkIMContext *context, - GdkWindow *window); -void gtk_im_context_get_preedit_string (GtkIMContext *context, - gchar **str, - PangoAttrList **attrs, - gint *cursor_pos); -gboolean gtk_im_context_filter_keypress (GtkIMContext *context, - GdkEventKey *event); -void gtk_im_context_focus_in (GtkIMContext *context); -void gtk_im_context_focus_out (GtkIMContext *context); -void gtk_im_context_reset (GtkIMContext *context); -void gtk_im_context_set_cursor_location (GtkIMContext *context, - GdkRectangle *area); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +GType gtk_im_context_get_type (void) G_GNUC_CONST; + +void gtk_im_context_set_client_window (GtkIMContext *context, + GdkWindow *window); +void gtk_im_context_get_preedit_string (GtkIMContext *context, + gchar **str, + PangoAttrList **attrs, + gint *cursor_pos); +gboolean gtk_im_context_filter_keypress (GtkIMContext *context, + GdkEventKey *event); +void gtk_im_context_focus_in (GtkIMContext *context); +void gtk_im_context_focus_out (GtkIMContext *context); +void gtk_im_context_reset (GtkIMContext *context); +void gtk_im_context_set_cursor_location (GtkIMContext *context, + const GdkRectangle *area); +void gtk_im_context_set_use_preedit (GtkIMContext *context, + gboolean use_preedit); +void gtk_im_context_set_surrounding (GtkIMContext *context, + const gchar *text, + gint len, + gint cursor_index); +gboolean gtk_im_context_get_surrounding (GtkIMContext *context, + gchar **text, + gint *cursor_index); +gboolean gtk_im_context_delete_surrounding (GtkIMContext *context, + gint offset, + gint n_chars); + +G_END_DECLS #endif /* __GTK_IM_CONTEXT_H__ */