gboolean ide_source_snippet_chunk_get_text_set (IdeSourceSnippetChunk *chunk) { g_return_val_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk), FALSE); return chunk->text_set; }
void ide_source_snippet_chunk_set_context (IdeSourceSnippetChunk *chunk, IdeSourceSnippetContext *context) { g_return_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); g_return_if_fail (!context || IDE_IS_SOURCE_SNIPPET_CONTEXT (context)); if (context != chunk->context) { if (chunk->context_changed_handler) { g_signal_handler_disconnect (chunk->context, chunk->context_changed_handler); chunk->context_changed_handler = 0; } g_clear_object (&chunk->context); if (context != NULL) { chunk->context = g_object_ref (context); chunk->context_changed_handler = g_signal_connect_object (chunk->context, "changed", G_CALLBACK (on_context_changed), chunk, 0); } g_object_notify_by_pspec (G_OBJECT (chunk), properties[PROP_CONTEXT]); } }
/** * ide_source_snippet_chunk_get_context: * * Gets the context for the snippet insertion. * * Returns: (transfer none): An #IdeSourceSnippetContext. */ IdeSourceSnippetContext * ide_source_snippet_chunk_get_context (IdeSourceSnippetChunk *chunk) { g_return_val_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk), NULL); return chunk->context; }
void ide_source_snippet_get_chunk_range (IdeSourceSnippet *self, IdeSourceSnippetChunk *chunk, GtkTextIter *begin, GtkTextIter *end) { IdeSourceSnippetChunk *item; guint i; g_return_if_fail (IDE_IS_SOURCE_SNIPPET (self)); g_return_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); for (i = 0; i < self->chunks->len; i++) { item = g_ptr_array_index (self->chunks, i); if (item == chunk) { ide_source_snippet_get_nth_chunk_range (self, i, begin, end); return; } } g_warning (_("Chunk does not belong to snippet.")); }
void ide_source_snippet_chunk_set_tab_stop (IdeSourceSnippetChunk *chunk, gint tab_stop) { g_return_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); chunk->tab_stop = tab_stop; g_object_notify_by_pspec (G_OBJECT (chunk), properties[PROP_TAB_STOP]); }
void ide_source_snippet_chunk_set_spec (IdeSourceSnippetChunk *chunk, const gchar *spec) { g_return_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); g_free (chunk->spec); chunk->spec = g_strdup (spec); g_object_notify_by_pspec (G_OBJECT (chunk), properties[PROP_SPEC]); }
void ide_source_snippet_chunk_set_text (IdeSourceSnippetChunk *chunk, const gchar *text) { g_return_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); if (chunk->text != text) { g_free (chunk->text); chunk->text = g_strdup (text); g_object_notify_by_pspec (G_OBJECT (chunk), properties[PROP_TEXT]); } }
/** * ide_source_snippet_chunk_copy: * * Copies the source snippet. * * Returns: (transfer full): An #IdeSourceSnippetChunk. */ IdeSourceSnippetChunk * ide_source_snippet_chunk_copy (IdeSourceSnippetChunk *chunk) { IdeSourceSnippetChunk *ret; g_return_val_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk), NULL); ret = g_object_new (IDE_TYPE_SOURCE_SNIPPET_CHUNK, "spec", chunk->spec, "tab-stop", chunk->tab_stop, NULL); return ret; }
void ide_source_snippet_chunk_set_text_set (IdeSourceSnippetChunk *chunk, gboolean text_set) { g_return_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); text_set = !!text_set; if (chunk->text_set != text_set) { chunk->text_set = text_set; g_object_notify_by_pspec (G_OBJECT (chunk), properties[PROP_TEXT_SET]); } }
static void on_context_changed (IdeSourceSnippetContext *context, IdeSourceSnippetChunk *chunk) { gchar *text; g_assert (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); g_assert (IDE_IS_SOURCE_SNIPPET_CONTEXT (context)); if (!chunk->text_set) { text = ide_source_snippet_context_expand (context, chunk->spec); ide_source_snippet_chunk_set_text (chunk, text); g_free (text); } }
void ide_source_snippet_add_chunk (IdeSourceSnippet *self, IdeSourceSnippetChunk *chunk) { gint tab_stop; g_return_if_fail (IDE_IS_SOURCE_SNIPPET (self)); g_return_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk)); g_return_if_fail (!self->inserted); g_ptr_array_add (self->chunks, g_object_ref (chunk)); ide_source_snippet_chunk_set_context (chunk, self->snippet_context); tab_stop = ide_source_snippet_chunk_get_tab_stop (chunk); self->max_tab_stop = MAX (self->max_tab_stop, tab_stop); }
const gchar * ide_source_snippet_chunk_get_text (IdeSourceSnippetChunk *chunk) { g_return_val_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk), NULL); return chunk->text ? chunk->text : ""; }
gint ide_source_snippet_chunk_get_tab_stop (IdeSourceSnippetChunk *chunk) { g_return_val_if_fail (IDE_IS_SOURCE_SNIPPET_CHUNK (chunk), 0); return chunk->tab_stop; }