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( |