| 520 attr |= gnt_color_pair(GNT_COLOR_HIGHLIGHT_D); |
521 attr |= gnt_color_pair(GNT_COLOR_HIGHLIGHT_D); |
| 521 } |
522 } |
| 522 else |
523 else |
| 523 { |
524 { |
| 524 if (flags & GNT_TEXT_FLAG_DIM) |
525 if (flags & GNT_TEXT_FLAG_DIM) |
| 525 attr |= (A_DIM | gnt_color_pair(GNT_COLOR_DISABLED)); |
526 if (row->color) |
| |
527 attr |= (A_DIM | gnt_color_pair(row->color)); |
| |
528 else |
| |
529 attr |= (A_DIM | gnt_color_pair(GNT_COLOR_DISABLED)); |
| 526 else if (flags & GNT_TEXT_FLAG_HIGHLIGHT) |
530 else if (flags & GNT_TEXT_FLAG_HIGHLIGHT) |
| 527 attr |= (A_DIM | gnt_color_pair(GNT_COLOR_HIGHLIGHT)); |
531 attr |= (A_DIM | gnt_color_pair(GNT_COLOR_HIGHLIGHT)); |
| |
532 else if (row->color) |
| |
533 attr |= gnt_color_pair(row->color); |
| 528 else |
534 else |
| 529 attr |= gnt_color_pair(GNT_COLOR_NORMAL); |
535 attr |= gnt_color_pair(GNT_COLOR_NORMAL); |
| 530 } |
536 } |
| 531 |
537 |
| 532 wbkgdset(widget->window, '\0' | attr); |
538 wbkgdset(widget->window, '\0' | attr); |
| 1557 |
1563 |
| 1558 row->flags = flags; |
1564 row->flags = flags; |
| 1559 redraw_tree(tree); /* XXX: It shouldn't be necessary to redraw the whole darned tree */ |
1565 redraw_tree(tree); /* XXX: It shouldn't be necessary to redraw the whole darned tree */ |
| 1560 } |
1566 } |
| 1561 |
1567 |
| |
1568 void gnt_tree_set_row_color(GntTree *tree, void *key, int color) |
| |
1569 { |
| |
1570 GntTreeRow *row = g_hash_table_lookup(tree->hash, key); |
| |
1571 if (!row || row->color == color) |
| |
1572 return; |
| |
1573 |
| |
1574 row->color = color; |
| |
1575 redraw_tree(tree); |
| |
1576 } |
| |
1577 |
| 1562 void gnt_tree_set_selected(GntTree *tree , void *key) |
1578 void gnt_tree_set_selected(GntTree *tree , void *key) |
| 1563 { |
1579 { |
| 1564 int dist; |
1580 int dist; |
| 1565 GntTreeRow *row = g_hash_table_lookup(tree->hash, key); |
1581 GntTreeRow *row = g_hash_table_lookup(tree->hash, key); |
| 1566 if (!row || row == tree->current) |
1582 if (!row || row == tree->current) |