ui/gtk/tree.c

changeset 128
c284c15509a8
parent 124
80609f9675f1
child 129
5babf09f5f19
equal deleted inserted replaced
127:ce342364fad5 128:c284c15509a8
132 132
133 133
134 UIWIDGET ui_table_var(UiObject *obj, UiListPtr *list, UiModelInfo *modelinfo) { 134 UIWIDGET ui_table_var(UiObject *obj, UiListPtr *list, UiModelInfo *modelinfo) {
135 // create treeview 135 // create treeview
136 GtkWidget *view = gtk_tree_view_new(); 136 GtkWidget *view = gtk_tree_view_new();
137 int addi = 0;
138 for(int i=0;i<modelinfo->columns;i++) { 137 for(int i=0;i<modelinfo->columns;i++) {
139 GtkTreeViewColumn *column = NULL; 138 GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
140 if(modelinfo->types[i] == UI_ICON_TEXT) { 139 GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes(
141 column = gtk_tree_view_column_new();
142 gtk_tree_view_column_set_title(column, modelinfo->titles[i]);
143
144 GtkCellRenderer *iconrenderer = gtk_cell_renderer_pixbuf_new();
145 GtkCellRenderer *textrenderer = gtk_cell_renderer_text_new();
146
147 gtk_tree_view_column_pack_end(column, textrenderer, TRUE);
148 gtk_tree_view_column_pack_start(column, iconrenderer, FALSE);
149
150
151 gtk_tree_view_column_add_attribute(column, iconrenderer, "icon-name", i);
152 gtk_tree_view_column_add_attribute(column, textrenderer, "text", i+1);
153
154 addi++;
155 } else {
156 GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
157 column = gtk_tree_view_column_new_with_attributes(
158 modelinfo->titles[i], 140 modelinfo->titles[i],
159 renderer, 141 renderer,
160 "text", 142 "text",
161 i + addi, 143 i,
162 NULL); 144 NULL);
163 }
164 gtk_tree_view_column_set_resizable(column, TRUE); 145 gtk_tree_view_column_set_resizable(column, TRUE);
165 gtk_tree_view_append_column(GTK_TREE_VIEW(view), column); 146 gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
166 } 147 }
167 148
168 //gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE); 149 //gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
250 231
251 232
252 233
253 void ui_listview_update(UiEvent *event, UiTableView *view) { 234 void ui_listview_update(UiEvent *event, UiTableView *view) {
254 UiListModel *model = ui_list_model_new(view->list, view->modelinfo); 235 UiListModel *model = ui_list_model_new(view->list, view->modelinfo);
255 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), GTK_TREE_MODEL(model)); 236 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), NULL);
237 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), GTK_TREE_MODEL(model));
256 238
257 // TODO: free old model 239 // TODO: free old model
258 } 240 }
259 241
260 void ui_listview_activate_event( 242 void ui_listview_activate_event(

mercurial