summaryrefslogtreecommitdiff
path: root/src/glibext/gcodebuffer.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-01-21 20:51:27 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-01-21 21:23:58 (GMT)
commitdd33acbff36c0a3ae4618ac5021e74448cad5ce5 (patch)
tree834351b836760fc54533e2f39c4b8202e695c0e3 /src/glibext/gcodebuffer.h
parente3ee1abf12d7868f5eaf759e04a4b4911fcdfa91 (diff)
Defined some raw primitives to write or delete comments.
Diffstat (limited to 'src/glibext/gcodebuffer.h')
-rw-r--r--src/glibext/gcodebuffer.h43
1 files changed, 40 insertions, 3 deletions
diff --git a/src/glibext/gcodebuffer.h b/src/glibext/gcodebuffer.h
index 86e94d2..0f2d601 100644
--- a/src/glibext/gcodebuffer.h
+++ b/src/glibext/gcodebuffer.h
@@ -57,22 +57,38 @@ GType g_code_buffer_get_type(void);
/* Crée un nouveau composant de tampon pour code désassemblé. */
GCodeBuffer *g_code_buffer_new(BufferLineColumn);
+/* Initie une nouvelle ligne devant être insérée dans le tampon. */
+GBufferLine *g_code_buffer_prepare_new_line(GCodeBuffer *, const mrange_t *);
+
+/* Ajoute une nouvelle ligne en fin de tampon. */
+void g_code_buffer_append_new_line(GCodeBuffer *, GBufferLine *);
+
+/* Ajoute de nouvelles lignes par rapport à une ligne donnée. */
+bool g_code_buffer_insert_lines(GCodeBuffer *, GBufferLine **, size_t, const GBufferLine *, bool);
+
+/* Supprime une ou plusieurs lignes du tampon indiqué. */
+void g_code_buffer_delete_lines(GCodeBuffer *, size_t, size_t);
+
+
+
/* FIXME */
#define g_code_buffer_append_new_line_fixme(b) \
g_code_buffer_append_new_line(b, (mrange_t []){ { 0, 0 }, 0 })
-/* Ajoute une nouvelle ligne à un tampon pour code désassemblé. */
-GBufferLine *g_code_buffer_append_new_line(GCodeBuffer *, const mrange_t *);
-
/* FIXME */
#define g_code_buffer_insert_at(buf, a, b) NULL
+
+
/* Retrouve une ligne au sein d'un tampon avec une adresse. */
GBufferLine *g_code_buffer_find_line_by_addr(const GCodeBuffer *, const vmpa2t *, BufferLineFlags, size_t *);
/* Retrouve une ligne au sein d'un tampon avec un indice. */
GBufferLine *g_code_buffer_find_line_by_index(const GCodeBuffer *, size_t);
+/* Retrouve l'indice associé à une ligne au sein d'un tampon. */
+size_t g_code_buffer_find_index_by_line(const GCodeBuffer *, const GBufferLine *);
+
/* Augmente l'indentation des prochaines lignes. */
void g_code_buffer_inc_indentation(GCodeBuffer *);
@@ -87,6 +103,27 @@ GDelayedWork *g_buffer_code_scan(GCodeBuffer *, const vmpa2t *, const vmpa2t *,
+/* ------------------------- CONFORTS POUR LES COMMENTAIRES ------------------------- */
+
+
+/* Séparateur commun à tous les plateformes */
+#define COMMENT_LINE_SEP "\n"
+
+
+/* Affiche un commentaire sur une ligne de tampon donnée. */
+bool g_code_buffer_update_inlined_comment(GCodeBuffer *, GBufferLine *, const char *);
+
+/* Affiche un commentaire sur une ligne de tampon dédiée. */
+bool g_code_buffer_update_comment_area(GCodeBuffer *, GBufferLine *, const char *, bool);
+
+/* Récupère le contenu d'un commentaire existant. */
+char *g_code_buffer_get_lines_comment(const GCodeBuffer *, const GBufferLine *);
+
+/* Supprime un commentaire existant. */
+bool g_code_buffer_delete_lines_comment(GCodeBuffer *, GBufferLine *);
+
+
+
/* ---------------------- VUE PARTICULIERE D'UN TAMPON DE CODE ---------------------- */