comparison console/libgnt/gnttree.c @ 15052:34e049e6ce10

[gaim-migrate @ 17835] Patch from wabz to: - Fix bug #1602136 - Better handle resizing of trees - Make the tooltip-info more closely resemble the tooltip-info in Gaim. Also remove some unnecessary debug statements. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Tue, 28 Nov 2006 07:06:37 +0000
parents e601bc7880a6
children 68385f5bbd61
comparison
equal deleted inserted replaced
15051:f0ffd80aa196 15052:34e049e6ce10
667 } 667 }
668 return TRUE; 668 return TRUE;
669 } 669 }
670 670
671 static void 671 static void
672 gnt_tree_size_changed(GntWidget *widget, int w, int h)
673 {
674 GntTree *tree = GNT_TREE(widget);
675 int i;
676 int n = 0;
677 if (widget->priv.width <= 0)
678 return;
679 for (i = 0; i < tree->ncol; ++i)
680 n += tree->columns[i].width;
681 if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_NO_BORDER))
682 tree->columns[tree->ncol - 1].width += widget->priv.width - n - 1 * tree->ncol;
683 else
684 tree->columns[tree->ncol - 1].width += widget->priv.width - n - 2 - 1 * tree->ncol;
685 }
686
687 static void
672 gnt_tree_class_init(GntTreeClass *klass) 688 gnt_tree_class_init(GntTreeClass *klass)
673 { 689 {
674 GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass); 690 GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);
675 parent_class = GNT_WIDGET_CLASS(klass); 691 parent_class = GNT_WIDGET_CLASS(klass);
676 parent_class->destroy = gnt_tree_destroy; 692 parent_class->destroy = gnt_tree_destroy;
677 parent_class->draw = gnt_tree_draw; 693 parent_class->draw = gnt_tree_draw;
678 parent_class->map = gnt_tree_map; 694 parent_class->map = gnt_tree_map;
679 parent_class->size_request = gnt_tree_size_request; 695 parent_class->size_request = gnt_tree_size_request;
680 parent_class->key_pressed = gnt_tree_key_pressed; 696 parent_class->key_pressed = gnt_tree_key_pressed;
681 parent_class->clicked = gnt_tree_clicked; 697 parent_class->clicked = gnt_tree_clicked;
698 parent_class->size_changed = gnt_tree_size_changed;
682 699
683 signals[SIG_SELECTION_CHANGED] = 700 signals[SIG_SELECTION_CHANGED] =
684 g_signal_new("selection-changed", 701 g_signal_new("selection-changed",
685 G_TYPE_FROM_CLASS(klass), 702 G_TYPE_FROM_CLASS(klass),
686 G_SIGNAL_RUN_LAST, 703 G_SIGNAL_RUN_LAST,