X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk.c;h=6a4c0d3e07a402aec0ee11ce1132ca1a3912dffa;hb=ed91d840318ed6ebfe3a5a77fa17114ddbf56640;hp=b7c0a7d6f3df2f9290ed5e459ea02d9c481b9e26;hpb=1461483626f28b52f8f9f3cc350f9cb330579285;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/chimara-glk.c b/libchimara/chimara-glk.c index b7c0a7d..6a4c0d3 100644 --- a/libchimara/chimara-glk.c +++ b/libchimara/chimara-glk.c @@ -148,7 +148,8 @@ enum { PROP_SPACING, PROP_PROGRAM_NAME, PROP_PROGRAM_INFO, - PROP_STORY_NAME + PROP_STORY_NAME, + PROP_RUNNING }; enum { @@ -170,6 +171,8 @@ G_DEFINE_TYPE(ChimaraGlk, chimara_glk, GTK_TYPE_CONTAINER); static void chimara_glk_init(ChimaraGlk *self) { + chimara_init(); /* This is a library entry point */ + gtk_widget_set_has_window(GTK_WIDGET(self), FALSE); ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(self); @@ -267,6 +270,9 @@ chimara_glk_get_property(GObject *object, guint prop_id, GValue *value, GParamSp case PROP_STORY_NAME: g_value_set_string(value, priv->story_name); break; + case PROP_RUNNING: + g_value_set_boolean(value, priv->running); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } @@ -947,6 +953,17 @@ chimara_glk_class_init(ChimaraGlkClass *klass) NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS) ); + /** + * ChimaraGlk:running: + * + * Whether this Glk widget is currently running a game or not. + */ + g_object_class_install_property(object_class, PROP_RUNNING, + g_param_spec_boolean("running", _("Running"), + _("Whether there is a program currently running"), + FALSE, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS) ); + /* Private data */ g_type_class_add_private(klass, sizeof(ChimaraGlkPrivate)); }