ui/gtk/tree.c

changeset 129
5babf09f5f19
parent 128
c284c15509a8
child 140
c03c338a7dcf
equal deleted inserted replaced
128:c284c15509a8 129:5babf09f5f19
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;
137 for(int i=0;i<modelinfo->columns;i++) { 138 for(int i=0;i<modelinfo->columns;i++) {
138 GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); 139 GtkTreeViewColumn *column = NULL;
139 GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes( 140 if(modelinfo->types[i] == UI_ICON_TEXT) {
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(
140 modelinfo->titles[i], 158 modelinfo->titles[i],
141 renderer, 159 renderer,
142 "text", 160 "text",
143 i, 161 i + addi,
144 NULL); 162 NULL);
163 }
145 gtk_tree_view_column_set_resizable(column, TRUE); 164 gtk_tree_view_column_set_resizable(column, TRUE);
146 gtk_tree_view_append_column(GTK_TREE_VIEW(view), column); 165 gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
147 } 166 }
148 167
149 //gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE); 168 //gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
231 250
232 251
233 252
234 void ui_listview_update(UiEvent *event, UiTableView *view) { 253 void ui_listview_update(UiEvent *event, UiTableView *view) {
235 UiListModel *model = ui_list_model_new(view->list, view->modelinfo); 254 UiListModel *model = ui_list_model_new(view->list, view->modelinfo);
236 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), NULL); 255 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), GTK_TREE_MODEL(model));
237 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), GTK_TREE_MODEL(model));
238 256
239 // TODO: free old model 257 // TODO: free old model
240 } 258 }
241 259
242 void ui_listview_activate_event( 260 void ui_listview_activate_event(

mercurial