diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-01-21 20:51:27 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-01-21 21:23:58 (GMT) |
commit | dd33acbff36c0a3ae4618ac5021e74448cad5ce5 (patch) | |
tree | 834351b836760fc54533e2f39c4b8202e695c0e3 /src/glibext/gcodebuffer.h | |
parent | e3ee1abf12d7868f5eaf759e04a4b4911fcdfa91 (diff) |
Defined some raw primitives to write or delete comments.
Diffstat (limited to 'src/glibext/gcodebuffer.h')
-rw-r--r-- | src/glibext/gcodebuffer.h | 43 |
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 ---------------------- */ |