ui/gtk/list.c

changeset 1027
9613f7726032
parent 1016
ccde46662db7
equal deleted inserted replaced
1026:4f94daefb421 1027:9613f7726032
1356 1356
1357 void ui_dropdown_select(UIWIDGET dropdown, int index) { 1357 void ui_dropdown_select(UIWIDGET dropdown, int index) {
1358 gtk_combo_box_set_active(GTK_COMBO_BOX(dropdown), index); 1358 gtk_combo_box_set_active(GTK_COMBO_BOX(dropdown), index);
1359 } 1359 }
1360 1360
1361 static void table_cell_toggled(
1362 GtkCellRendererToggle *renderer,
1363 gchar *path,
1364 gpointer user_data)
1365 {
1366 printf("cell toggled\n");
1367 }
1368
1369 static void table_cell_edited(
1370 GtkCellRendererText *renderer,
1371 gchar *path,
1372 gchar *new_text,
1373 gpointer user_data)
1374 {
1375 printf("cell edited\n");
1376 }
1377
1361 UIWIDGET ui_table_create(UiObject *obj, UiListArgs *args) { 1378 UIWIDGET ui_table_create(UiObject *obj, UiListArgs *args) {
1362 // create treeview 1379 // create treeview
1363 GtkWidget *view = gtk_tree_view_new(); 1380 GtkWidget *view = gtk_tree_view_new();
1364 1381
1365 UiModel *model = args->model; 1382 UiModel *model = args->model;
1414 model->titles[i], 1431 model->titles[i],
1415 iconrenderer, 1432 iconrenderer,
1416 "pixbuf", 1433 "pixbuf",
1417 i + addi, 1434 i + addi,
1418 NULL); 1435 NULL);
1436 } else if (model->types[i] == UI_BOOL_EDITABLE) {
1437 GtkCellRenderer *renderer = gtk_cell_renderer_toggle_new();
1438 column = gtk_tree_view_column_new_with_attributes(
1439 model->titles[i],
1440 renderer,
1441 "active",
1442 i + addi,
1443 NULL);
1444 g_signal_connect(renderer, "toggled", G_CALLBACK(table_cell_toggled), NULL);
1419 } else { 1445 } else {
1420 GtkCellRenderer *textrenderer = gtk_cell_renderer_text_new(); 1446 GtkCellRenderer *textrenderer = gtk_cell_renderer_text_new();
1447 if(model->types[i] == UI_STRING_EDITABLE) {
1448 g_object_set(textrenderer, "editable", TRUE, NULL);
1449 }
1421 column = gtk_tree_view_column_new_with_attributes( 1450 column = gtk_tree_view_column_new_with_attributes(
1422 model->titles[i], 1451 model->titles[i],
1423 textrenderer, 1452 textrenderer,
1424 "text", 1453 "text",
1425 i + addi, 1454 i + addi,

mercurial