Pager in place
[rodin/chimara.git] / libchimara / chimara-glk.c
index f4cd156fe3da9ae3a1d06127dde408aed12efd5d..982b39fa6f1edbd89ef6d7147a27125a818b91c3 100644 (file)
@@ -88,6 +88,7 @@ chimara_glk_init(ChimaraGlk *self)
        priv->css_file = "style.css";
        priv->default_styles = g_new0(StyleSet,1);
        priv->current_styles = g_new0(StyleSet,1);
+       priv->pager_attr_list = pango_attr_list_new();
        priv->style_initialized = FALSE;
        priv->final_message = g_strdup("[ The game has finished ]");
        priv->running = FALSE;
@@ -191,6 +192,7 @@ chimara_glk_finalize(GObject *object)
        g_hash_table_destroy(priv->default_styles->text_grid);
        g_hash_table_destroy(priv->current_styles->text_buffer);
        g_hash_table_destroy(priv->current_styles->text_grid);
+       pango_attr_list_unref(priv->pager_attr_list);
        priv->style_initialized = FALSE;
        
     /* Free the event queue */
@@ -840,6 +842,7 @@ chimara_glk_set_interactive(ChimaraGlk *glk, gboolean interactive)
     
     ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(glk);
     priv->interactive = interactive;
+    g_object_notify(G_OBJECT(glk), "interactive");
 }
 
 /**
@@ -876,6 +879,7 @@ chimara_glk_set_protect(ChimaraGlk *glk, gboolean protect)
     
     ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(glk);
     priv->protect = protect;
+    g_object_notify(G_OBJECT(glk), "protect");
 }
 
 /**
@@ -913,7 +917,7 @@ chimara_glk_set_default_font_description(ChimaraGlk *glk, PangoFontDescription *
        ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(glk);
        pango_font_description_free(priv->default_font_desc);
        priv->default_font_desc = pango_font_description_copy(font);
-       
+       g_object_notify(G_OBJECT(glk), "default-font-description");
        /* TODO: Apply the font description to all the windows and recalculate the sizes */
 }
 
@@ -941,6 +945,7 @@ chimara_glk_set_default_font_string(ChimaraGlk *glk, const gchar *font)
        ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(glk);
        pango_font_description_free(priv->default_font_desc);
        priv->default_font_desc = fontdesc;
+       g_object_notify(G_OBJECT(glk), "default-font-description");
        
        /* TODO: Apply the font description to all the windows and recalculate the sizes */
 }
@@ -980,6 +985,7 @@ chimara_glk_set_monospace_font_description(ChimaraGlk *glk, PangoFontDescription
        ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(glk);
        pango_font_description_free(priv->monospace_font_desc);
        priv->monospace_font_desc = pango_font_description_copy(font);
+       g_object_notify(G_OBJECT(glk), "monospace-font-description");
        
        /* TODO: Apply the font description to all the windows and recalculate the sizes */
 }
@@ -1008,6 +1014,7 @@ chimara_glk_set_monospace_font_string(ChimaraGlk *glk, const gchar *font)
        ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(glk);
        pango_font_description_free(priv->monospace_font_desc);
        priv->monospace_font_desc = fontdesc;
+       g_object_notify(G_OBJECT(glk), "monospace-font-description");
        
        /* TODO: Apply the font description to all the windows and recalculate the sizes */
 }
@@ -1045,6 +1052,7 @@ chimara_glk_set_spacing(ChimaraGlk *glk, guint spacing)
        
        ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(glk);
        priv->spacing = spacing;
+       g_object_notify(G_OBJECT(glk), "spacing");
 }
 
 /**