diff options
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);  } | 
