finch/libgnt/gnttree.c

changeset 31294
73607ab89c6f
parent 30499
19e9d4a69086
child 35059
5fd94b14cc49
equal deleted inserted replaced
31293:169eeb43b52c 31294:73607ab89c6f
273 if (row == NULL) 273 if (row == NULL)
274 return -1; 274 return -1;
275 return get_root_distance(get_prev(row)) + 1; 275 return get_root_distance(get_prev(row)) + 1;
276 } 276 }
277 277
278 /* Returns the distance between a and b. 278 /* Returns the distance between a and b.
279 * If a is 'above' b, then the distance is positive */ 279 * If a is 'above' b, then the distance is positive */
280 static int 280 static int
281 get_distance(GntTreeRow *a, GntTreeRow *b) 281 get_distance(GntTreeRow *a, GntTreeRow *b)
282 { 282 {
283 /* First get the distance from a to the root. 283 /* First get the distance from a to the root.
625 gnt_tree_draw(GntWidget *widget) 625 gnt_tree_draw(GntWidget *widget)
626 { 626 {
627 GntTree *tree = GNT_TREE(widget); 627 GntTree *tree = GNT_TREE(widget);
628 628
629 redraw_tree(tree); 629 redraw_tree(tree);
630 630
631 GNTDEBUG; 631 GNTDEBUG;
632 } 632 }
633 633
634 static void 634 static void
635 gnt_tree_size_request(GntWidget *widget) 635 gnt_tree_size_request(GntWidget *widget)
1064 0, G_MAXINT, 1, 1064 0, G_MAXINT, 1,
1065 G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB 1065 G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB
1066 ) 1066 )
1067 ); 1067 );
1068 1068
1069 signals[SIG_SELECTION_CHANGED] = 1069 signals[SIG_SELECTION_CHANGED] =
1070 g_signal_new("selection-changed", 1070 g_signal_new("selection-changed",
1071 G_TYPE_FROM_CLASS(klass), 1071 G_TYPE_FROM_CLASS(klass),
1072 G_SIGNAL_RUN_LAST, 1072 G_SIGNAL_RUN_LAST,
1073 G_STRUCT_OFFSET(GntTreeClass, selection_changed), 1073 G_STRUCT_OFFSET(GntTreeClass, selection_changed),
1074 NULL, NULL, 1074 NULL, NULL,
1075 gnt_closure_marshal_VOID__POINTER_POINTER, 1075 gnt_closure_marshal_VOID__POINTER_POINTER,
1076 G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER); 1076 G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
1077 signals[SIG_SCROLLED] = 1077 signals[SIG_SCROLLED] =
1078 g_signal_new("scrolled", 1078 g_signal_new("scrolled",
1079 G_TYPE_FROM_CLASS(klass), 1079 G_TYPE_FROM_CLASS(klass),
1080 G_SIGNAL_RUN_LAST, 1080 G_SIGNAL_RUN_LAST,
1081 0, 1081 0,
1082 NULL, NULL, 1082 NULL, NULL,
1083 g_cclosure_marshal_VOID__INT, 1083 g_cclosure_marshal_VOID__INT,
1084 G_TYPE_NONE, 1, G_TYPE_INT); 1084 G_TYPE_NONE, 1, G_TYPE_INT);
1085 signals[SIG_TOGGLED] = 1085 signals[SIG_TOGGLED] =
1086 g_signal_new("toggled", 1086 g_signal_new("toggled",
1087 G_TYPE_FROM_CLASS(klass), 1087 G_TYPE_FROM_CLASS(klass),
1088 G_SIGNAL_RUN_LAST, 1088 G_SIGNAL_RUN_LAST,
1089 G_STRUCT_OFFSET(GntTreeClass, toggled), 1089 G_STRUCT_OFFSET(GntTreeClass, toggled),
1090 NULL, NULL, 1090 NULL, NULL,
1091 g_cclosure_marshal_VOID__POINTER, 1091 g_cclosure_marshal_VOID__POINTER,
1092 G_TYPE_NONE, 1, G_TYPE_POINTER); 1092 G_TYPE_NONE, 1, G_TYPE_POINTER);
1093 signals[SIG_COLLAPSED] = 1093 signals[SIG_COLLAPSED] =
1094 g_signal_new("collapse-toggled", 1094 g_signal_new("collapse-toggled",
1095 G_TYPE_FROM_CLASS(klass), 1095 G_TYPE_FROM_CLASS(klass),
1096 G_SIGNAL_RUN_LAST, 1096 G_SIGNAL_RUN_LAST,
1097 0, 1097 0,
1098 NULL, NULL, 1098 NULL, NULL,
1382 1382
1383 position = g_list_index(tree->list, bigbro); 1383 position = g_list_index(tree->list, bigbro);
1384 } 1384 }
1385 } 1385 }
1386 1386
1387 if (pr == NULL && parent) 1387 if (pr == NULL && parent)
1388 { 1388 {
1389 pr = g_hash_table_lookup(tree->hash, parent); 1389 pr = g_hash_table_lookup(tree->hash, parent);
1390 if (pr) 1390 if (pr)
1391 { 1391 {
1392 if (pr->child) pr->child->prev = row; 1392 if (pr->child) pr->child->prev = row;
1562 { 1562 {
1563 GntTreeRow *row; 1563 GntTreeRow *row;
1564 GntTreeCol *col; 1564 GntTreeCol *col;
1565 1565
1566 g_return_if_fail(colno < tree->ncol); 1566 g_return_if_fail(colno < tree->ncol);
1567 1567
1568 row = g_hash_table_lookup(tree->hash, key); 1568 row = g_hash_table_lookup(tree->hash, key);
1569 if (row) 1569 if (row)
1570 { 1570 {
1571 col = g_list_nth_data(row->columns, colno); 1571 col = g_list_nth_data(row->columns, colno);
1572 if (BINARY_DATA(tree, colno)) { 1572 if (BINARY_DATA(tree, colno)) {
1599 r = r->child; 1599 r = r->child;
1600 if (r) { 1600 if (r) {
1601 while (r->next) 1601 while (r->next)
1602 r = r->next; 1602 r = r->next;
1603 bigbro = r->key; 1603 bigbro = r->key;
1604 } 1604 }
1605 } 1605 }
1606 } 1606 }
1607 row = gnt_tree_add_row_after(tree, key, row, parent, bigbro); 1607 row = gnt_tree_add_row_after(tree, key, row, parent, bigbro);
1608 row->choice = TRUE; 1608 row->choice = TRUE;
1609 1609

mercurial