Mercurial > pidgin.yaz
comparison finch/libgnt/gnttree.c @ 18564:36257cac2b11
Anoter patch from Javeed Shaikh to introduce a utility function for a tree.
I changed it a bit, but hopefully I didn't break the patch in the process.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Thu, 19 Jul 2007 21:34:35 +0000 |
parents | dba4edbde4a7 |
children | 3c634117a7ef |
comparison
equal
deleted
inserted
replaced
18563:dba4edbde4a7 | 18564:36257cac2b11 |
---|---|
1361 if (tree->current) | 1361 if (tree->current) |
1362 return update_row_text(tree, tree->current); | 1362 return update_row_text(tree, tree->current); |
1363 return NULL; | 1363 return NULL; |
1364 } | 1364 } |
1365 | 1365 |
1366 GList *gnt_tree_get_row_text_list(GntTree *tree, gpointer key) | |
1367 { | |
1368 GList *list = NULL, *iter; | |
1369 GntTreeRow *row = key ? g_hash_table_lookup(tree->hash, key) : tree->current; | |
1370 int i; | |
1371 | |
1372 if (!row) | |
1373 return NULL; | |
1374 | |
1375 for (i = 0, iter = row->columns; i < tree->ncol && iter; | |
1376 i++, iter = iter->next) | |
1377 { | |
1378 GntTreeCol *col = iter->data; | |
1379 list = g_list_append(list, BINARY_DATA(tree, i) ? col->text : g_strdup(col->text)); | |
1380 } | |
1381 | |
1382 return list; | |
1383 } | |
1384 | |
1366 GList *gnt_tree_get_selection_text_list(GntTree *tree) | 1385 GList *gnt_tree_get_selection_text_list(GntTree *tree) |
1367 { | 1386 { |
1368 GList *list = NULL, *iter; | 1387 return gnt_tree_get_row_text_list(tree, NULL); |
1369 int i; | |
1370 | |
1371 if (!tree->current) | |
1372 return NULL; | |
1373 | |
1374 for (i = 0, iter = tree->current->columns; i < tree->ncol && iter; | |
1375 i++, iter = iter->next) | |
1376 { | |
1377 GntTreeCol *col = iter->data; | |
1378 list = g_list_append(list, g_strdup(col->text)); | |
1379 } | |
1380 | |
1381 return list; | |
1382 } | 1388 } |
1383 | 1389 |
1384 void gnt_tree_remove(GntTree *tree, gpointer key) | 1390 void gnt_tree_remove(GntTree *tree, gpointer key) |
1385 { | 1391 { |
1386 GntTreeRow *row = g_hash_table_lookup(tree->hash, key); | 1392 GntTreeRow *row = g_hash_table_lookup(tree->hash, key); |