summaryrefslogtreecommitdiff
path: root/src/glibext/gbufferline.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-01-23 17:48:50 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-01-23 17:48:50 (GMT)
commitadb98feb93f09d8de343c504a0c8c72815d62dab (patch)
treec345bf863252c2384b946b8ebfa315cda88b8ba9 /src/glibext/gbufferline.c
parent18be9204f2f6b054f254d1fa045039952ddfad41 (diff)
Created storable items for user comments.
Diffstat (limited to 'src/glibext/gbufferline.c')
-rw-r--r--src/glibext/gbufferline.c59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/glibext/gbufferline.c b/src/glibext/gbufferline.c
index 2f29ee4..b8838ae 100644
--- a/src/glibext/gbufferline.c
+++ b/src/glibext/gbufferline.c
@@ -78,6 +78,9 @@ static GBufferSegment *get_segment_at(const buffer_line_column *, gint *, GdkScr
static GBufferSegment *find_near_segment(const buffer_line_column *, GBufferSegment *, GdkScrollDirection);
/* Fournit le segment créé par un objet particulier. */
+static GObject *find_first_segment_creator(const buffer_line_column *);
+
+/* Fournit le segment créé par un objet particulier. */
static GBufferSegment *find_segment_from_creator(const buffer_line_column *, GObject *);
/* Imprime le contenu d'une colonne de ligne de texte. */
@@ -410,6 +413,33 @@ static GBufferSegment *find_near_segment(const buffer_line_column *column, GBuff
/******************************************************************************
* *
+* Paramètres : column = colonne de ligne de texte à consulter. *
+* *
+* Description : Fournit le segment créé par un objet particulier. *
+* *
+* Retour : Créateur trouvé à déréférencer par la suite ou NULL si échec.*
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+static GObject *find_first_segment_creator(const buffer_line_column *column)
+{
+ GObject *result; /* Trouvaille à retourner */
+ size_t i; /* Boucle de parcours */
+
+ result = NULL;
+
+ for (i = 0; i < column->count && result == NULL; i++)
+ result = g_buffer_segment_get_creator(column->segments[i]);
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : column = colonne de ligne de texte à consulter. *
* creator = créateur à l'origine du segment recherché. *
* *
@@ -1165,6 +1195,35 @@ GBufferSegment *g_buffer_line_find_near_segment(const GBufferLine *line, GBuffer
/******************************************************************************
* *
+* Paramètres : line = ligne à venir consulter. *
+* column = indice de la colonne visée par les recherches. *
+* *
+* Description : Recherche le premier créateur enregistré dans des segments. *
+* *
+* Retour : Créateur trouvé à déréférencer par la suite ou NULL si échec.*
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+GObject *g_buffer_line_find_first_segment_creator(const GBufferLine *line, BufferLineColumn column)
+{
+ GObject *result; /* Trouvaille à retourner */
+
+ assert(column < BLC_COUNT);
+
+ result = find_first_segment_creator(&line->columns[column]);
+
+ if (result != NULL)
+ g_object_ref(G_OBJECT(result));
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : line = ligne à venir consulter. *
* creator = créateur à l'origine du segment recherché. *
* *