keyboard: Expose creating sections directly
This commit is contained in:
@ -145,7 +145,7 @@ section_child_removed_cb (EekContainer *container,
|
|||||||
name);
|
name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static EekSection *
|
EekSection *
|
||||||
eek_keyboard_real_create_section (EekKeyboard *self)
|
eek_keyboard_real_create_section (EekKeyboard *self)
|
||||||
{
|
{
|
||||||
EekSection *section;
|
EekSection *section;
|
||||||
@ -422,8 +422,6 @@ eek_keyboard_class_init (EekKeyboardClass *klass)
|
|||||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||||
GParamSpec *pspec;
|
GParamSpec *pspec;
|
||||||
|
|
||||||
klass->create_section = eek_keyboard_real_create_section;
|
|
||||||
|
|
||||||
/* signals */
|
/* signals */
|
||||||
container_class->child_added = eek_keyboard_real_child_added;
|
container_class->child_added = eek_keyboard_real_child_added;
|
||||||
container_class->child_removed = eek_keyboard_real_child_removed;
|
container_class->child_removed = eek_keyboard_real_child_removed;
|
||||||
@ -500,21 +498,6 @@ eek_keyboard_init (EekKeyboard *self)
|
|||||||
self->scale = 1.0;
|
self->scale = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* eek_keyboard_create_section:
|
|
||||||
* @keyboard: an #EekKeyboard
|
|
||||||
*
|
|
||||||
* Create an #EekSection instance and append it to @keyboard. This
|
|
||||||
* function is rarely called by application but called by #EekLayout
|
|
||||||
* implementation.
|
|
||||||
*/
|
|
||||||
EekSection *
|
|
||||||
eek_keyboard_create_section (EekKeyboard *keyboard)
|
|
||||||
{
|
|
||||||
g_return_val_if_fail (EEK_IS_KEYBOARD(keyboard), NULL);
|
|
||||||
return EEK_KEYBOARD_GET_CLASS(keyboard)->create_section (keyboard);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* eek_keyboard_find_key_by_name:
|
* eek_keyboard_find_key_by_name:
|
||||||
* @keyboard: an #EekKeyboard
|
* @keyboard: an #EekKeyboard
|
||||||
|
|||||||
@ -88,8 +88,6 @@ struct _EekKeyboardClass
|
|||||||
gpointer get_symbol_index;
|
gpointer get_symbol_index;
|
||||||
|
|
||||||
/*< public >*/
|
/*< public >*/
|
||||||
EekSection *(* create_section) (EekKeyboard *self);
|
|
||||||
|
|
||||||
EekKey *(* find_key_by_name) (EekKeyboard *self,
|
EekKey *(* find_key_by_name) (EekKeyboard *self,
|
||||||
const gchar *name);
|
const gchar *name);
|
||||||
|
|
||||||
@ -196,5 +194,12 @@ void eek_keyboard_release_key(EekKeyboard *keyboard, EekKey *key, guint32 timest
|
|||||||
gchar * eek_keyboard_get_keymap
|
gchar * eek_keyboard_get_keymap
|
||||||
(EekKeyboard *keyboard);
|
(EekKeyboard *keyboard);
|
||||||
|
|
||||||
|
/* Create an #EekSection instance and append it to @keyboard. This
|
||||||
|
* function is rarely called by application but called by #EekLayout
|
||||||
|
* implementation.
|
||||||
|
*/
|
||||||
|
EekSection *
|
||||||
|
eek_keyboard_real_create_section (EekKeyboard *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
#endif /* EEK_KEYBOARD_H */
|
#endif /* EEK_KEYBOARD_H */
|
||||||
|
|||||||
@ -372,7 +372,7 @@ geometry_start_element_callback (GMarkupParseContext *pcontext,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (g_strcmp0 (element_name, "section") == 0) {
|
if (g_strcmp0 (element_name, "section") == 0) {
|
||||||
data->section = eek_keyboard_create_section (data->keyboard);
|
data->section = eek_keyboard_real_create_section (data->keyboard);
|
||||||
attribute = get_attribute (attribute_names, attribute_values,
|
attribute = get_attribute (attribute_names, attribute_values,
|
||||||
"id");
|
"id");
|
||||||
if (attribute != NULL)
|
if (attribute != NULL)
|
||||||
|
|||||||
@ -29,7 +29,7 @@ test_create (void)
|
|||||||
EekKey *key0, *key1;
|
EekKey *key0, *key1;
|
||||||
|
|
||||||
keyboard = g_object_new (EEK_TYPE_KEYBOARD, NULL);
|
keyboard = g_object_new (EEK_TYPE_KEYBOARD, NULL);
|
||||||
section = eek_keyboard_create_section (keyboard);
|
section = eek_keyboard_real_create_section (keyboard);
|
||||||
g_assert (EEK_IS_SECTION(section));
|
g_assert (EEK_IS_SECTION(section));
|
||||||
eek_section_add_row (section, 2, EEK_ORIENTATION_HORIZONTAL);
|
eek_section_add_row (section, 2, EEK_ORIENTATION_HORIZONTAL);
|
||||||
key0 = eek_section_create_key (section, "key0", 1);
|
key0 = eek_section_create_key (section, "key0", 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user