key: Share state between multiple keys
This commit is contained in:
@ -121,7 +121,8 @@ on_unlocked (EekKey *key,
|
||||
static EekKey *
|
||||
eek_section_real_create_key (EekSection *self,
|
||||
const gchar *name,
|
||||
gint keycode)
|
||||
gint keycode,
|
||||
guint oref)
|
||||
{
|
||||
EekSectionPrivate *priv = (EekSectionPrivate*)eek_section_get_instance_private (self);
|
||||
|
||||
@ -131,8 +132,9 @@ eek_section_real_create_key (EekSection *self,
|
||||
EekKey *key = (EekKey*)g_object_new (EEK_TYPE_KEY,
|
||||
"name", name,
|
||||
NULL);
|
||||
eek_key_set_keycode(key, keycode);
|
||||
g_return_val_if_fail (key, NULL);
|
||||
eek_key_set_keycode(key, keycode);
|
||||
eek_key_set_oref(key, oref);
|
||||
|
||||
EEK_CONTAINER_GET_CLASS(self)->add_child (EEK_CONTAINER(self),
|
||||
EEK_ELEMENT(key));
|
||||
@ -140,6 +142,25 @@ eek_section_real_create_key (EekSection *self,
|
||||
return key;
|
||||
}
|
||||
|
||||
EekKey *eek_section_create_button(EekSection *self,
|
||||
const gchar *name,
|
||||
struct squeek_key *state) {
|
||||
EekSectionPrivate *priv = (EekSectionPrivate*)eek_section_get_instance_private (self);
|
||||
|
||||
EekRow *row = &priv->row;
|
||||
row->num_columns++;
|
||||
|
||||
EekKey *key = (EekKey*)g_object_new (EEK_TYPE_KEY,
|
||||
"name", name,
|
||||
NULL);
|
||||
g_return_val_if_fail (key, NULL);
|
||||
eek_key_share_state(key, state);
|
||||
|
||||
EEK_CONTAINER_GET_CLASS(self)->add_child (EEK_CONTAINER(self),
|
||||
EEK_ELEMENT(key));
|
||||
return key;
|
||||
}
|
||||
|
||||
static void
|
||||
eek_section_finalize (GObject *object)
|
||||
{
|
||||
@ -383,12 +404,13 @@ eek_section_get_row (EekSection *section,
|
||||
EekKey *
|
||||
eek_section_create_key (EekSection *section,
|
||||
const gchar *name,
|
||||
guint keycode)
|
||||
guint keycode,
|
||||
guint oref)
|
||||
{
|
||||
g_return_val_if_fail (EEK_IS_SECTION(section), NULL);
|
||||
return EEK_SECTION_GET_CLASS(section)->create_key (section,
|
||||
return eek_section_real_create_key (section,
|
||||
name,
|
||||
keycode);
|
||||
keycode, oref);
|
||||
}
|
||||
|
||||
const double keyspacing = 4.0;
|
||||
|
||||
Reference in New Issue
Block a user