summaryrefslogtreecommitdiff
path: root/src/analysis/line_prologue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/line_prologue.c')
-rw-r--r--src/analysis/line_prologue.c39
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);
}