Получить отображаемый текст из столбца разметки GtkTreeView - PullRequest
0 голосов
/ 06 октября 2019

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

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

1 Ответ

1 голос
/ 07 октября 2019

Я нашел для этого функцию 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);
...