diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2009-08-30 10:55:45 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2009-08-30 10:55:45 (GMT) |
commit | ac447bc36e65b91f97434cf2613ccb1e768267e0 (patch) | |
tree | 471f3b49629269d7ea44a6ea8b9177fe7e437817 /src/analysis/line_prologue.c | |
parent | 184249f07fb32fb2449723f5f94ce221015231b7 (diff) |
Rendered using the GTK buffer (crappy version).
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@107 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/line_prologue.c')
-rw-r--r-- | src/analysis/line_prologue.c | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/src/analysis/line_prologue.c b/src/analysis/line_prologue.c index 4b83b68..13f0c1e 100644 --- a/src/analysis/line_prologue.c +++ b/src/analysis/line_prologue.c @@ -56,8 +56,8 @@ static void g_prologue_line_class_init(GPrologueLineClass *); /* Initialise la classe des lignes de descriptions initiales. */ static void g_prologue_line_init(GPrologueLine *); -/* Met à jour la ligne de représentation de prologue. */ -void g_prologue_line_refresh_markup(GPrologueLine *, MainRendering); +/* Ajoute à un texte GTK le contenu de la ligne d'ouverture. */ +static void g_prologue_line_add_to_gtk_buffer(GPrologueLine *, MainRendering, GtkTextBuffer *, GtkTextIter *, gint [SAR_COUNT]); @@ -98,15 +98,16 @@ static void g_prologue_line_class_init(GPrologueLineClass *klass) static void g_prologue_line_init(GPrologueLine *line) { - GRenderingLine *parent; /* Instance parente */ + GContentExporter *exporter_parent; /* Instance parente #1 */ + GRenderingLine *line_parent; /* Instance parente #2 */ - parent = G_RENDERING_LINE(line); + exporter_parent = G_CONTENT_EXPORTER(line); - parent->offset = 0; + exporter_parent->add_to_gtk_buffer = (add_to_gtk_buffer_fc)g_prologue_line_add_to_gtk_buffer; - parent->type = RLT_PROLOGUE; + line_parent = G_RENDERING_LINE(line); - parent->refresh_markup = (refresh_markup_fc)g_prologue_line_refresh_markup; + line_parent->type = RLT_PROLOGUE; } @@ -115,8 +116,11 @@ static void g_prologue_line_init(GPrologueLine *line) * * * Paramètres : line = ligne de représentation à actualiser. * * rendering = support effectif final des lignes de code. * +* buffer = zone de texte à venir compléter. * +* iter = point d'insertion du nouveau texte. * +* lengths = taille des différentes composantes de la ligne. * * * -* Description : Met à jour la ligne de représentation de prologue. * +* Description : Ajoute à un texte GTK le contenu de la ligne d'ouverture. * * * * Retour : - * * * @@ -124,22 +128,17 @@ static void g_prologue_line_init(GPrologueLine *line) * * ******************************************************************************/ -void g_prologue_line_refresh_markup(GPrologueLine *line, MainRendering rendering) +static void g_prologue_line_add_to_gtk_buffer(GPrologueLine *line, MainRendering rendering, GtkTextBuffer *buffer, GtkTextIter *iter, gint lengths[SAR_COUNT]) { - size_t len; /* Taille du contenu */ - char *content; /* Contenu réellement imprimé */ + size_t len; /* Taille de l'élément inséré */ - len = strlen("<b><span foreground='#003300'>"); - len += strlen("; ") + strlen(line->comment); - len += strlen("</span></b>"); + len = strlen(line->comment); - content = (char *)calloc(len + 1, sizeof(char)); + g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(line), buffer, iter, + "; ", 2, RTT_COMMENT); - snprintf(content, len + 1, "<b><span foreground='#003300'>; %s</span></b>", line->comment); - - pango_layout_set_markup(G_RENDERING_LINE(line)->layout[rendering], content, len); - - free(content); + g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(line), buffer, iter, + line->comment, len, RTT_COMMENT); } |