diff -r 55adc92e7c09 -r 80609f9675f1 ui/gtk/tree.c --- a/ui/gtk/tree.c Tue Feb 16 17:39:33 2016 +0100 +++ b/ui/gtk/tree.c Mon May 23 12:28:32 2016 +0200 @@ -134,14 +134,33 @@ UIWIDGET ui_table_var(UiObject *obj, UiListPtr *list, UiModelInfo *modelinfo) { // create treeview GtkWidget *view = gtk_tree_view_new(); + int addi = 0; for(int i=0;icolumns;i++) { - GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); - GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes( + GtkTreeViewColumn *column = NULL; + if(modelinfo->types[i] == UI_ICON_TEXT) { + column = gtk_tree_view_column_new(); + gtk_tree_view_column_set_title(column, modelinfo->titles[i]); + + GtkCellRenderer *iconrenderer = gtk_cell_renderer_pixbuf_new(); + GtkCellRenderer *textrenderer = gtk_cell_renderer_text_new(); + + gtk_tree_view_column_pack_end(column, textrenderer, TRUE); + gtk_tree_view_column_pack_start(column, iconrenderer, FALSE); + + + gtk_tree_view_column_add_attribute(column, iconrenderer, "icon-name", i); + gtk_tree_view_column_add_attribute(column, textrenderer, "text", i+1); + + addi++; + } else { + GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes( modelinfo->titles[i], renderer, "text", - i, + i + addi, NULL); + } gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(view), column); }