Re-organize API.

EekGtkKeyboard is now a subclass of GtkWidget not EekKeyboard.  Widget
creation is done as follows:

layout = eek_xkl_layout_new (...);
keyboard = eek_keyboard_new (layout, 640, 480);
widget = eek_gtk_keyboard_new (keyboard);

Broken Clutter support is temporarily disabled.
This commit is contained in:
Daiki Ueno
2011-01-22 11:52:20 +09:00
parent cab893b4aa
commit a0167c4cc2
10 changed files with 388 additions and 930 deletions

View File

@ -63,45 +63,44 @@ struct _EekKeyboardClass
EekContainerClass parent_class;
/*< public >*/
void (* set_keysym_index) (EekKeyboard *self,
gint group,
gint level);
void (* get_keysym_index) (EekKeyboard *self,
gint *group,
gint *level);
void (* set_keysym_index) (EekKeyboard *self,
gint group,
gint level);
void (* get_keysym_index) (EekKeyboard *self,
gint *group,
gint *level);
EekSection *(* create_section) (EekKeyboard *self);
EekSection *(* create_section) (EekKeyboard *self);
void (* set_layout) (EekKeyboard *self,
EekLayout *layout);
EekKey *(* find_key_by_keycode) (EekKeyboard *self,
guint keycode);
void (* realize) (EekKeyboard *self);
EekKey *(* find_key_by_keycode) (EekKeyboard *self,
guint keycode);
/* signals */
void (* keysym_index_changed) (EekKeyboard *self,
gint group,
gint level);
/*< private >*/
/* padding */
gpointer pdummy[24];
gpointer pdummy[23];
};
GType eek_keyboard_get_type (void) G_GNUC_CONST;
GType eek_keyboard_get_type (void) G_GNUC_CONST;
void eek_keyboard_set_keysym_index (EekKeyboard *keyboard,
gint group,
gint level);
void eek_keyboard_get_keysym_index (EekKeyboard *keyboard,
gint *group,
gint *level);
EekKeyboard *eek_keyboard_new (EekLayout *layout,
gint preferred_width,
gint preferred_height);
void eek_keyboard_set_keysym_index (EekKeyboard *keyboard,
gint group,
gint level);
void eek_keyboard_get_keysym_index (EekKeyboard *keyboard,
gint *group,
gint *level);
EekSection *eek_keyboard_create_section (EekKeyboard *keyboard);
EekSection *eek_keyboard_create_section (EekKeyboard *keyboard);
void eek_keyboard_set_layout (EekKeyboard *keyboard,
EekLayout *layout);
void eek_keyboard_realize (EekKeyboard *keyboard);
EekKey *eek_keyboard_find_key_by_keycode (EekKeyboard *keyboard,
guint keycode);
EekKey *eek_keyboard_find_key_by_position (EekKeyboard *keyboard,
gdouble x,
gdouble y);
EekKey *eek_keyboard_find_key_by_keycode (EekKeyboard *keyboard,
guint keycode);
G_END_DECLS
#endif /* EEK_KEYBOARD_H */