2010-06-04 5 views
0

Я пытаюсь создать пользовательский GtkCellRenderer с некоторым текстом. И я хочу, чтобы этот текст был усечен, когда размер GtkCellRenderer меньше размера текста. Например:Как усечь текст в пользовательском GtkCellRenderer?

alt text

Как я могу это сделать? Является ли это некоторым свойством CellRenderer или PangoLayout, или мне нужно сделать это вручную?

ответ

1

Используйте ellipsize и ellipsize-set свойства GtkCellRendererText.

Если вы хотите сделать это вручную с помощью Pango, используйте pango_layout_set_ellipsize().

+0

Но я расширяю GtkCellRenderer, а не GtkCellRendererText. – troorl

+0

Почему не подкласс 'GtkCellRendererText'? Вы хотите сделать что-то вроде на картинке, которую вы опубликовали? Тогда вам будет лучше использовать два столбца, один с 'GtkCellRendererPixbuf' и один' GtkCellRendererText'. Но также см. Править выше. – ptomato

+0

Спасибо, pango_layout_set_ellipsize - возможно, это то, что мне нужно. Но когда я использую его, вместо текста отображаются только три точки. Может, я что-то пропустил. – troorl