Получить отображаемый текст из столбца разметки GtkTreeView

Я использую gtk_tree_view_column_new_with_attributes(NULL, renderer, "markup", 0, NULL);. Когда я устанавливаю разметку для строки, я использую g_markup_printf_escaped для экранирования любых символов в текстовых строках, переданных как varargs.

Мне нужен способ позже вернуть текст из этой закодированной строки разметки, удалив все теги форматирования и заменив &entities. В качестве альтернативы можно было бы просто получить отображаемый текст строки GtkTreeView в виде строки. Я бы предпочел не хранить исходный текст и в скрытых столбцах. Как лучше всего это сделать?


person Nick Treleaven    schedule 06.10.2019    source источник


Ответы (1)


Я нашел для этого функцию Pango: https://developer.gnome.org/pango/stable/pango-Markup.html#pango-parse-markup

    gchar *markup, *text;

    gtk_tree_model_get(model, &iter, 0, &markup, -1);
    pango_parse_markup(markup, -1, 0, NULL, &text, NULL, NULL);
person Nick Treleaven    schedule 07.10.2019