Define EekLayout as a class instead of an interface.
This commit is contained in:
@ -45,11 +45,7 @@
|
||||
|
||||
#define noKBDRAW_DEBUG
|
||||
|
||||
static void eek_layout_iface_init (EekLayoutIface *iface);
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE (EekXkbLayout, eek_xkb_layout, G_TYPE_INITIALLY_UNOWNED,
|
||||
G_IMPLEMENT_INTERFACE (EEK_TYPE_LAYOUT,
|
||||
eek_layout_iface_init));
|
||||
G_DEFINE_TYPE (EekXkbLayout, eek_xkb_layout, EEK_TYPE_LAYOUT);
|
||||
|
||||
#define EEK_XKB_LAYOUT_GET_PRIVATE(obj) \
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_XKB_LAYOUT, EekXkbLayoutPrivate))
|
||||
@ -314,19 +310,19 @@ outline_free (gpointer data)
|
||||
}
|
||||
|
||||
static void
|
||||
eek_xkb_layout_real_apply (EekLayout *layout, EekKeyboard *keyboard)
|
||||
eek_xkb_layout_real_apply (EekLayout *self, EekKeyboard *keyboard)
|
||||
{
|
||||
EekXkbLayoutPrivate *priv = EEK_XKB_LAYOUT_GET_PRIVATE (layout);
|
||||
EekXkbLayoutPrivate *priv = EEK_XKB_LAYOUT_GET_PRIVATE (self);
|
||||
|
||||
g_return_if_fail (priv);
|
||||
if (priv->outline_hash)
|
||||
g_hash_table_unref (priv->outline_hash);
|
||||
|
||||
priv->outline_hash = g_hash_table_new_full (g_direct_hash,
|
||||
g_direct_equal,
|
||||
NULL,
|
||||
outline_free);
|
||||
|
||||
create_keyboard (EEK_XKB_LAYOUT(layout), keyboard);
|
||||
create_keyboard (EEK_XKB_LAYOUT(self), keyboard);
|
||||
}
|
||||
|
||||
static gint
|
||||
@ -427,21 +423,18 @@ eek_xkb_layout_real_get_group (EekLayout *self)
|
||||
return state.group;
|
||||
}
|
||||
|
||||
static void
|
||||
eek_layout_iface_init (EekLayoutIface *iface)
|
||||
{
|
||||
iface->apply = eek_xkb_layout_real_apply;
|
||||
iface->get_group = eek_xkb_layout_real_get_group;
|
||||
}
|
||||
|
||||
static void
|
||||
eek_xkb_layout_class_init (EekXkbLayoutClass *klass)
|
||||
{
|
||||
EekLayoutClass *layout_class = EEK_LAYOUT_CLASS (klass);
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||
GParamSpec *pspec;
|
||||
|
||||
g_type_class_add_private (gobject_class, sizeof (EekXkbLayoutPrivate));
|
||||
|
||||
layout_class->apply = eek_xkb_layout_real_apply;
|
||||
layout_class->get_group = eek_xkb_layout_real_get_group;
|
||||
|
||||
gobject_class->finalize = eek_xkb_layout_finalize;
|
||||
gobject_class->set_property = eek_xkb_layout_set_property;
|
||||
gobject_class->get_property = eek_xkb_layout_get_property;
|
||||
|
||||
Reference in New Issue
Block a user