[gtksourceview/gtksourcecompletion] Store completion mark in buffer
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtksourceview/gtksourcecompletion] Store completion mark in buffer
- Date: Mon, 28 Sep 2009 18:54:43 +0000 (UTC)
commit 842c00242a7a1b6c3655e6202bcf0e1782f6917b
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Mon Sep 28 20:53:35 2009 +0200
Store completion mark in buffer
.../words/gtksourcecompletionwordsbuffer.c | 20 ++++++++++++++++++++
.../words/gtksourcecompletionwordsbuffer.h | 2 ++
2 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c b/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c
index 6f042b6..bb1e688 100644
--- a/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c
+++ b/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.c
@@ -59,6 +59,8 @@ struct _GtkSourceCompletionWordsBufferPrivate
guint lock_handler_id;
guint unlock_handler_id;
+
+ GtkTextMark *mark;
};
G_DEFINE_TYPE (GtkSourceCompletionWordsBuffer, gtk_source_completion_words_buffer, G_TYPE_OBJECT)
@@ -103,6 +105,13 @@ gtk_source_completion_words_buffer_dispose (GObject *object)
GtkSourceCompletionWordsBuffer *buffer =
GTK_SOURCE_COMPLETION_WORDS_BUFFER (object);
+ if (buffer->priv->mark)
+ {
+ gtk_text_buffer_delete_mark (gtk_text_mark_get_buffer (buffer->priv->mark),
+ buffer->priv->mark);
+ buffer->priv->mark = NULL;
+ }
+
if (buffer->priv->buffer)
{
gint i;
@@ -625,6 +634,7 @@ gtk_source_completion_words_buffer_new (GtkSourceCompletionWordsLibrary *library
GtkTextBuffer *buffer)
{
GtkSourceCompletionWordsBuffer *ret;
+ GtkTextIter iter;
g_return_val_if_fail (GTK_IS_SOURCE_COMPLETION_WORDS_LIBRARY (library), NULL);
g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), NULL);
@@ -646,6 +656,9 @@ gtk_source_completion_words_buffer_new (GtkSourceCompletionWordsLibrary *library
G_CALLBACK (on_library_unlock),
ret);
+ gtk_text_buffer_get_start_iter (buffer, &iter);
+ ret->priv->mark = gtk_text_buffer_create_mark (buffer, NULL, &iter, TRUE);
+
connect_buffer (ret);
return ret;
@@ -679,3 +692,10 @@ gtk_source_completion_words_buffer_set_minimum_word_size (GtkSourceCompletionWor
buffer->priv->minimum_word_size = size;
}
+GtkTextMark *
+gtk_source_completion_words_buffer_get_mark (GtkSourceCompletionWordsBuffer *buffer)
+{
+ g_return_val_if_fail (GTK_IS_SOURCE_COMPLETION_WORDS_BUFFER (buffer), NULL);
+
+ return buffer->priv->mark;
+}
diff --git a/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.h b/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.h
index 2703f04..1ff3389 100644
--- a/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.h
+++ b/gtksourceview/completion-providers/words/gtksourcecompletionwordsbuffer.h
@@ -66,6 +66,8 @@ void gtk_source_completion_words_buffer_set_scan_batch_size (GtkSourceCompleti
void gtk_source_completion_words_buffer_set_minimum_word_size (GtkSourceCompletionWordsBuffer *buffer,
guint size);
+GtkTextMark *gtk_source_completion_words_buffer_get_mark (GtkSourceCompletionWordsBuffer *buffer);
+
G_END_DECLS
#endif /* __GTK_SOURCE_COMPLETION_WORDS_BUFFER_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]