summaryrefslogtreecommitdiff
path: root/gtk/gtkbuilder.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2015-04-27 22:53:42 -0400
committerMatthias Clasen <mclasen@redhat.com>2015-04-27 22:53:42 -0400
commit1525d4ab89722a19129b1e2f11135fdb3e5fc58b (patch)
treebfe85ba4102122a742fa996ef341db89d2346a36 /gtk/gtkbuilder.c
parent7332fefe96debbdb95452ebbcdd031dcbd96ab77 (diff)
downloadgtk+-1525d4ab89722a19129b1e2f11135fdb3e5fc58b.tar.gz
GtkBuilder: Document private convenience API
Diffstat (limited to 'gtk/gtkbuilder.c')
-rw-r--r--gtk/gtkbuilder.c48
1 files changed, 44 insertions, 4 deletions
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c
index 96b33478ca..6cd801c712 100644
--- a/gtk/gtkbuilder.c
+++ b/gtk/gtkbuilder.c
@@ -310,18 +310,18 @@ static void
gtk_builder_finalize (GObject *object)
{
GtkBuilderPrivate *priv = GTK_BUILDER (object)->priv;
-
+
g_free (priv->domain);
g_free (priv->filename);
g_free (priv->resource_prefix);
-
+
g_hash_table_destroy (priv->objects);
if (priv->callbacks)
g_hash_table_destroy (priv->callbacks);
g_slist_foreach (priv->signals, (GFunc) _free_signal_info, NULL);
g_slist_free (priv->signals);
-
+
G_OBJECT_CLASS (gtk_builder_parent_class)->finalize (object);
}
@@ -2607,6 +2607,20 @@ gtk_builder_get_application (GtkBuilder *builder)
return builder->priv->application;
}
+/*< private >
+ * _gtk_builder_prefix_error:
+ * @builder: a #GtkBuilder
+ * @context: the #GMarkupParseContext
+ * @error: an error
+ *
+ * Calls g_prefix_error() to prepend a filename:line:column marker
+ * to the given error. The filename is taken from @builder, and
+ * the line and column are obtained by calling
+ * g_markup_parse_context_get_position().
+ *
+ * This is intended to be called on errors returned by
+ * g_markup_collect_attributes() in a start_element vfunc.
+ */
void
_gtk_builder_prefix_error (GtkBuilder *builder,
GMarkupParseContext *context,
@@ -2618,6 +2632,19 @@ _gtk_builder_prefix_error (GtkBuilder *builder,
g_prefix_error (error, "%s:%d:%d ", builder->priv->filename, line, col);
}
+/*< private >
+ * _gtk_builder_error_unhandled_tag:
+ * @builder: a #GtkBuilder
+ * @context: the #GMarkupParseContext
+ * @object: name of the object that is being handled
+ * @element_name: name of the element whose start tag is being handled
+ * @error: return location for the error
+ *
+ * Sets @error to a suitable error indicating that an @element_name
+ * tag is not expected in the custom markup for @object.
+ *
+ * This is intended to be called in a start_element vfunc.
+ */
void
_gtk_builder_error_unhandled_tag (GtkBuilder *builder,
GMarkupParseContext *context,
@@ -2636,6 +2663,20 @@ _gtk_builder_error_unhandled_tag (GtkBuilder *builder,
object, element_name);
}
+/*< private >
+ * @builder: a #GtkBuilder
+ * @context: the #GMarkupParseContext
+ * @parent_name: the name of the expected parent element
+ * @error: return location for an error
+ *
+ * Checks that the parent element of the currently handled
+ * start tag is @parent_name and set @error if it isn't.
+ *
+ * This is intended to be called in start_element vfuncs to
+ * ensure that element nesting is as intended.
+ *
+ * Returns: %TRUE if @parent_name is the parent element
+ */
gboolean
_gtk_builder_check_parent (GtkBuilder *builder,
GMarkupParseContext *context,
@@ -2665,4 +2706,3 @@ _gtk_builder_check_parent (GtkBuilder *builder,
return FALSE;
}
-