+/* Returns ITEM's title, which is a null pointer if no title has been
+ set. */
+const struct table_item_text *
+table_item_get_title (const struct table_item *item)
+{
+ return item->title;
+}
+
+/* Sets ITEM's title to TITLE, replacing any previous title. Specify NULL for
+ TITLE to clear any title from ITEM. The caller retains ownership of TITLE.
+
+ This function may only be used on a table_item that is unshared. */
+void
+table_item_set_title (struct table_item *item,
+ const struct table_item_text *title)
+{
+ assert (!table_item_is_shared (item));
+ table_item_text_destroy (item->title);
+ item->title = table_item_text_clone (title);
+}
+
+/* Returns ITEM's layers, which will be a null pointer if no layers have been
+ set. */
+const struct table_item_text *
+table_item_get_layers (const struct table_item *item)
+{
+ return item->layers;
+}
+
+/* Sets ITEM's layers to LAYERS, replacing any previous layers. Specify NULL
+ for LAYERS to clear any layers from ITEM. The caller retains ownership of
+ LAYERS.
+
+ This function may only be used on a table_item that is unshared. */
+void
+table_item_set_layers (struct table_item *item,
+ const struct table_item_text *layers)
+{
+ assert (!table_item_is_shared (item));
+ table_item_text_destroy (item->layers);
+ item->layers = table_item_text_clone (layers);
+}
+