static void ide_source_snippet_chunk_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { IdeSourceSnippetChunk *chunk = IDE_SOURCE_SNIPPET_CHUNK (object); switch (prop_id) { case PROP_CONTEXT: ide_source_snippet_chunk_set_context (chunk, g_value_get_object (value)); break; case PROP_TAB_STOP: ide_source_snippet_chunk_set_tab_stop (chunk, g_value_get_int (value)); break; case PROP_SPEC: ide_source_snippet_chunk_set_spec (chunk, g_value_get_string (value)); break; case PROP_TEXT: ide_source_snippet_chunk_set_text (chunk, g_value_get_string (value)); break; case PROP_TEXT_SET: ide_source_snippet_chunk_set_text_set (chunk, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }
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); }
/** * ide_source_snippet_get_context: * * Returns: (transfer none): */ IdeSourceSnippetContext * ide_source_snippet_get_context (IdeSourceSnippet *self) { g_return_val_if_fail (IDE_IS_SOURCE_SNIPPET (self), NULL); if (!self->snippet_context) { IdeSourceSnippetChunk *chunk; guint i; self->snippet_context = ide_source_snippet_context_new (); for (i = 0; i < self->chunks->len; i++) { chunk = g_ptr_array_index (self->chunks, i); ide_source_snippet_chunk_set_context (chunk, self->snippet_context); } } return self->snippet_context; }