~ubuntu-branches/ubuntu/precise/evolution/precise

« back to all changes in this revision

Viewing changes to widgets/table/e-tree-table-adapter.c

  • Committer: Package Import Robot
  • Author(s): Mathieu Trudel-Lapierre
  • Date: 2011-09-08 09:38:57 UTC
  • mfrom: (1.1.84 upstream)
  • Revision ID: package-import@ubuntu.com-20110908093857-6lfl04ke2ns3kx2o
Tags: 3.1.91-0ubuntu1
* New upstream release. (LP: #843769)
* debian/control: bump e-d-s Build-Depends to 3.1.91. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
98
98
static void etta_sort_info_changed (ETableSortInfo *sort_info, ETreeTableAdapter *etta);
99
99
 
100
100
static GNode *
101
 
lookup_gnode (ETreeTableAdapter *etta, ETreePath path)
 
101
lookup_gnode (ETreeTableAdapter *etta,
 
102
              ETreePath path)
102
103
{
103
104
        GNode *gnode;
104
105
 
111
112
}
112
113
 
113
114
static void
114
 
resize_map (ETreeTableAdapter *etta, gint size)
 
115
resize_map (ETreeTableAdapter *etta,
 
116
            gint size)
115
117
{
116
118
        if (size > etta->priv->n_vals_allocated) {
117
119
                etta->priv->n_vals_allocated = MAX (etta->priv->n_vals_allocated + INCREMENT_AMOUNT, size);
122
124
}
123
125
 
124
126
static void
125
 
move_map_elements (ETreeTableAdapter *etta, gint to, gint from, gint count)
 
127
move_map_elements (ETreeTableAdapter *etta,
 
128
                   gint to,
 
129
                   gint from,
 
130
                   gint count)
126
131
{
127
132
        if (count <= 0 || from >= etta->priv->n_map)
128
133
                return;
131
136
}
132
137
 
133
138
static gint
134
 
fill_map (ETreeTableAdapter *etta, gint index, GNode *gnode)
 
139
fill_map (ETreeTableAdapter *etta,
 
140
          gint index,
 
141
          GNode *gnode)
135
142
{
136
143
        GNode *p;
137
144
 
155
162
}
156
163
 
157
164
static node_t *
158
 
get_node (ETreeTableAdapter *etta, ETreePath path)
 
165
get_node (ETreeTableAdapter *etta,
 
166
          ETreePath path)
159
167
{
160
168
        GNode *gnode = lookup_gnode (etta, path);
161
169
 
166
174
}
167
175
 
168
176
static void
169
 
resort_node (ETreeTableAdapter *etta, GNode *gnode, gboolean recurse)
 
177
resort_node (ETreeTableAdapter *etta,
 
178
             GNode *gnode,
 
179
             gboolean recurse)
170
180
{
171
181
        node_t *node = (node_t *) gnode->data;
172
182
        ETreePath *paths, path;
217
227
}
218
228
 
219
229
static gint
220
 
get_row (ETreeTableAdapter *etta, ETreePath path)
 
230
get_row (ETreeTableAdapter *etta,
 
231
         ETreePath path)
221
232
{
222
233
        node_t *node = get_node (etta, path);
223
234
        if (!node)
230
241
}
231
242
 
232
243
static ETreePath
233
 
get_path (ETreeTableAdapter *etta, gint row)
 
244
get_path (ETreeTableAdapter *etta,
 
245
          gint row)
234
246
{
235
247
        if (row == -1 && etta->priv->n_map > 0)
236
248
                row = etta->priv->n_map - 1;
241
253
}
242
254
 
243
255
static void
244
 
kill_gnode (GNode *node, ETreeTableAdapter *etta)
 
256
kill_gnode (GNode *node,
 
257
            ETreeTableAdapter *etta)
245
258
{
246
259
        g_hash_table_remove (etta->priv->nodes, ((node_t *) node->data)->path);
247
260
 
258
271
}
259
272
 
260
273
static void
261
 
update_child_counts (GNode *gnode, gint delta)
 
274
update_child_counts (GNode *gnode,
 
275
                     gint delta)
262
276
{
263
277
        while (gnode) {
264
278
                node_t *node = (node_t *) gnode->data;
268
282
}
269
283
 
270
284
static gint
271
 
delete_children (ETreeTableAdapter *etta, GNode *gnode)
 
285
delete_children (ETreeTableAdapter *etta,
 
286
                 GNode *gnode)
272
287
{
273
288
        node_t *node = (node_t *) gnode->data;
274
289
        gint to_remove = node ? node->num_visible_children : 0;
286
301
}
287
302
 
288
303
static void
289
 
delete_node (ETreeTableAdapter *etta, ETreePath parent, ETreePath path)
 
304
delete_node (ETreeTableAdapter *etta,
 
305
             ETreePath parent,
 
306
             ETreePath path)
290
307
{
291
308
        gint to_remove = 1;
292
309
        gint parent_row = get_row (etta, parent);
325
342
}
326
343
 
327
344
static GNode *
328
 
create_gnode (ETreeTableAdapter *etta, ETreePath path)
 
345
create_gnode (ETreeTableAdapter *etta,
 
346
              ETreePath path)
329
347
{
330
348
        GNode *gnode;
331
349
        node_t *node;
343
361
}
344
362
 
345
363
static gint
346
 
insert_children (ETreeTableAdapter *etta, GNode *gnode)
 
364
insert_children (ETreeTableAdapter *etta,
 
365
                 GNode *gnode)
347
366
{
348
367
        ETreePath path, tmp;
349
368
        gint count = 0;
365
384
}
366
385
 
367
386
static void
368
 
generate_tree (ETreeTableAdapter *etta, ETreePath path)
 
387
generate_tree (ETreeTableAdapter *etta,
 
388
               ETreePath path)
369
389
{
370
390
        GNode *gnode;
371
391
        node_t *node;
394
414
}
395
415
 
396
416
static void
397
 
insert_node (ETreeTableAdapter *etta, ETreePath parent, ETreePath path)
 
417
insert_node (ETreeTableAdapter *etta,
 
418
             ETreePath parent,
 
419
             ETreePath path)
398
420
{
399
421
        GNode *gnode, *parent_gnode;
400
422
        node_t *node, *parent_node;
467
489
} check_expanded_closure;
468
490
 
469
491
static gboolean
470
 
check_expanded (GNode *gnode, gpointer data)
 
492
check_expanded (GNode *gnode,
 
493
                gpointer data)
471
494
{
472
495
        check_expanded_closure *closure = (check_expanded_closure *) data;
473
496
        node_t *node = (node_t *) gnode->data;
479
502
}
480
503
 
481
504
static void
482
 
update_node (ETreeTableAdapter *etta, ETreePath path)
 
505
update_node (ETreeTableAdapter *etta,
 
506
             ETreePath path)
483
507
{
484
508
        check_expanded_closure closure;
485
509
        ETreePath parent = e_tree_model_node_get_parent (etta->priv->source, path);
595
619
}
596
620
 
597
621
static gchar *
598
 
etta_get_save_id (ETableModel *etm, gint row)
 
622
etta_get_save_id (ETableModel *etm,
 
623
                  gint row)
599
624
{
600
625
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
601
626
 
619
644
}
620
645
 
621
646
static gpointer
622
 
etta_value_at (ETableModel *etm, gint col, gint row)
 
647
etta_value_at (ETableModel *etm,
 
648
               gint col,
 
649
               gint row)
623
650
{
624
651
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
625
652
 
638
665
}
639
666
 
640
667
static void
641
 
etta_set_value_at (ETableModel *etm, gint col, gint row, gconstpointer val)
 
668
etta_set_value_at (ETableModel *etm,
 
669
                   gint col,
 
670
                   gint row,
 
671
                   gconstpointer val)
642
672
{
643
673
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
644
674
 
646
676
}
647
677
 
648
678
static gboolean
649
 
etta_is_cell_editable (ETableModel *etm, gint col, gint row)
 
679
etta_is_cell_editable (ETableModel *etm,
 
680
                       gint col,
 
681
                       gint row)
650
682
{
651
683
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
652
684
 
654
686
}
655
687
 
656
688
static void
657
 
etta_append_row (ETableModel *etm, ETableModel *source, gint row)
 
689
etta_append_row (ETableModel *etm,
 
690
                 ETableModel *source,
 
691
                 gint row)
658
692
{
659
693
}
660
694
 
661
695
static gpointer
662
 
etta_duplicate_value (ETableModel *etm, gint col, gconstpointer value)
 
696
etta_duplicate_value (ETableModel *etm,
 
697
                      gint col,
 
698
                      gconstpointer value)
663
699
{
664
700
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
665
701
 
667
703
}
668
704
 
669
705
static void
670
 
etta_free_value (ETableModel *etm, gint col, gpointer value)
 
706
etta_free_value (ETableModel *etm,
 
707
                 gint col,
 
708
                 gpointer value)
671
709
{
672
710
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
673
711
 
675
713
}
676
714
 
677
715
static gpointer
678
 
etta_initialize_value (ETableModel *etm, gint col)
 
716
etta_initialize_value (ETableModel *etm,
 
717
                       gint col)
679
718
{
680
719
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
681
720
 
683
722
}
684
723
 
685
724
static gboolean
686
 
etta_value_is_empty (ETableModel *etm, gint col, gconstpointer value)
 
725
etta_value_is_empty (ETableModel *etm,
 
726
                     gint col,
 
727
                     gconstpointer value)
687
728
{
688
729
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
689
730
 
691
732
}
692
733
 
693
734
static gchar *
694
 
etta_value_to_string (ETableModel *etm, gint col, gconstpointer value)
 
735
etta_value_to_string (ETableModel *etm,
 
736
                      gint col,
 
737
                      gconstpointer value)
695
738
{
696
739
        ETreeTableAdapter *etta = (ETreeTableAdapter *) etm;
697
740
 
752
795
}
753
796
 
754
797
static void
755
 
etta_proxy_pre_change (ETreeModel *etm, ETreeTableAdapter *etta)
 
798
etta_proxy_pre_change (ETreeModel *etm,
 
799
                       ETreeTableAdapter *etta)
756
800
{
757
801
        e_table_model_pre_change (E_TABLE_MODEL (etta));
758
802
}
759
803
 
760
804
static void
761
 
etta_proxy_no_change (ETreeModel *etm, ETreeTableAdapter *etta)
 
805
etta_proxy_no_change (ETreeModel *etm,
 
806
                      ETreeTableAdapter *etta)
762
807
{
763
808
        e_table_model_no_change (E_TABLE_MODEL (etta));
764
809
}
765
810
 
766
811
static void
767
 
etta_proxy_rebuilt (ETreeModel *etm, ETreeTableAdapter *etta)
 
812
etta_proxy_rebuilt (ETreeModel *etm,
 
813
                    ETreeTableAdapter *etta)
768
814
{
769
815
        if (!etta->priv->root)
770
816
                return;
783
829
}
784
830
 
785
831
static void
786
 
etta_proxy_node_changed (ETreeModel *etm, ETreePath path, ETreeTableAdapter *etta)
 
832
etta_proxy_node_changed (ETreeModel *etm,
 
833
                         ETreePath path,
 
834
                         ETreeTableAdapter *etta)
787
835
{
788
836
        update_node (etta, path);
789
837
        e_table_model_changed (E_TABLE_MODEL (etta));
796
844
}
797
845
 
798
846
static void
799
 
etta_proxy_node_data_changed (ETreeModel *etm, ETreePath path, ETreeTableAdapter *etta)
 
847
etta_proxy_node_data_changed (ETreeModel *etm,
 
848
                              ETreePath path,
 
849
                              ETreeTableAdapter *etta)
800
850
{
801
851
        gint row = get_row (etta, path);
802
852
 
809
859
}
810
860
 
811
861
static void
812
 
etta_proxy_node_col_changed (ETreeModel *etm, ETreePath path, gint col, ETreeTableAdapter *etta)
 
862
etta_proxy_node_col_changed (ETreeModel *etm,
 
863
                             ETreePath path,
 
864
                             gint col,
 
865
                             ETreeTableAdapter *etta)
813
866
{
814
867
        gint row = get_row (etta, path);
815
868
 
822
875
}
823
876
 
824
877
static void
825
 
etta_proxy_node_inserted (ETreeModel *etm, ETreePath parent, ETreePath child, ETreeTableAdapter *etta)
 
878
etta_proxy_node_inserted (ETreeModel *etm,
 
879
                          ETreePath parent,
 
880
                          ETreePath child,
 
881
                          ETreeTableAdapter *etta)
826
882
{
827
883
        if (e_tree_model_node_is_root (etm, child))
828
884
                generate_tree (etta, child);
833
889
}
834
890
 
835
891
static void
836
 
etta_proxy_node_removed (ETreeModel *etm, ETreePath parent, ETreePath child, gint old_position, ETreeTableAdapter *etta)
 
892
etta_proxy_node_removed (ETreeModel *etm,
 
893
                         ETreePath parent,
 
894
                         ETreePath child,
 
895
                         gint old_position,
 
896
                         ETreeTableAdapter *etta)
837
897
{
838
898
        delete_node (etta, parent, child);
839
899
        e_table_model_changed (E_TABLE_MODEL (etta));
840
900
}
841
901
 
842
902
static void
843
 
etta_proxy_node_request_collapse (ETreeModel *etm, ETreePath node, ETreeTableAdapter *etta)
 
903
etta_proxy_node_request_collapse (ETreeModel *etm,
 
904
                                  ETreePath node,
 
905
                                  ETreeTableAdapter *etta)
844
906
{
845
907
        e_tree_table_adapter_node_set_expanded (etta, node, FALSE);
846
908
}
847
909
 
848
910
static void
849
 
etta_sort_info_changed (ETableSortInfo *sort_info, ETreeTableAdapter *etta)
 
911
etta_sort_info_changed (ETableSortInfo *sort_info,
 
912
                        ETreeTableAdapter *etta)
850
913
{
851
914
        if (!etta->priv->root)
852
915
                return;
853
916
 
854
917
        /* the function is called also internally, with sort_info = NULL,
855
 
           thus skip those in signal emit */
 
918
         * thus skip those in signal emit */
856
919
        if (sort_info) {
857
920
                gboolean handled = FALSE;
858
921
 
869
932
}
870
933
 
871
934
ETableModel *
872
 
e_tree_table_adapter_construct (ETreeTableAdapter *etta, ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *header)
 
935
e_tree_table_adapter_construct (ETreeTableAdapter *etta,
 
936
                                ETreeModel *source,
 
937
                                ETableSortInfo *sort_info,
 
938
                                ETableHeader *header)
873
939
{
874
940
        ETreePath root;
875
941
 
879
945
        etta->priv->sort_info = sort_info;
880
946
        if (sort_info) {
881
947
                g_object_ref (sort_info);
882
 
                etta->priv->sort_info_changed_id = g_signal_connect (G_OBJECT (sort_info), "sort_info_changed",
883
 
                                                                     G_CALLBACK (etta_sort_info_changed), etta);
 
948
                etta->priv->sort_info_changed_id = g_signal_connect (
 
949
                        sort_info, "sort_info_changed",
 
950
                        G_CALLBACK (etta_sort_info_changed), etta);
884
951
        }
885
952
 
886
953
        etta->priv->header = header;
894
961
        if (root)
895
962
                generate_tree (etta, root);
896
963
 
897
 
        etta->priv->pre_change_id = g_signal_connect(G_OBJECT(source), "pre_change",
898
 
                                        G_CALLBACK (etta_proxy_pre_change), etta);
899
 
        etta->priv->no_change_id = g_signal_connect (G_OBJECT (source), "no_change",
900
 
                                        G_CALLBACK (etta_proxy_no_change), etta);
901
 
        etta->priv->rebuilt_id = g_signal_connect (G_OBJECT (source), "rebuilt",
902
 
                                        G_CALLBACK (etta_proxy_rebuilt), etta);
903
 
        etta->priv->node_changed_id = g_signal_connect (G_OBJECT (source), "node_changed",
904
 
                                        G_CALLBACK (etta_proxy_node_changed), etta);
905
 
        etta->priv->node_data_changed_id = g_signal_connect (G_OBJECT (source), "node_data_changed",
906
 
                                        G_CALLBACK (etta_proxy_node_data_changed), etta);
907
 
        etta->priv->node_col_changed_id = g_signal_connect (G_OBJECT (source), "node_col_changed",
908
 
                                        G_CALLBACK (etta_proxy_node_col_changed), etta);
909
 
        etta->priv->node_inserted_id = g_signal_connect (G_OBJECT (source), "node_inserted",
910
 
                                        G_CALLBACK (etta_proxy_node_inserted), etta);
911
 
        etta->priv->node_removed_id = g_signal_connect (G_OBJECT (source), "node_removed",
912
 
                                        G_CALLBACK (etta_proxy_node_removed), etta);
913
 
        etta->priv->node_request_collapse_id = g_signal_connect (G_OBJECT (source), "node_request_collapse",
914
 
                                        G_CALLBACK (etta_proxy_node_request_collapse), etta);
 
964
        etta->priv->pre_change_id = g_signal_connect (
 
965
                source, "pre_change",
 
966
                G_CALLBACK (etta_proxy_pre_change), etta);
 
967
        etta->priv->no_change_id = g_signal_connect (
 
968
                source, "no_change",
 
969
                G_CALLBACK (etta_proxy_no_change), etta);
 
970
        etta->priv->rebuilt_id = g_signal_connect (
 
971
                source, "rebuilt",
 
972
                G_CALLBACK (etta_proxy_rebuilt), etta);
 
973
        etta->priv->node_changed_id = g_signal_connect (
 
974
                source, "node_changed",
 
975
                G_CALLBACK (etta_proxy_node_changed), etta);
 
976
        etta->priv->node_data_changed_id = g_signal_connect (
 
977
                source, "node_data_changed",
 
978
                G_CALLBACK (etta_proxy_node_data_changed), etta);
 
979
        etta->priv->node_col_changed_id = g_signal_connect (
 
980
                source, "node_col_changed",
 
981
                G_CALLBACK (etta_proxy_node_col_changed), etta);
 
982
        etta->priv->node_inserted_id = g_signal_connect (
 
983
                source, "node_inserted",
 
984
                G_CALLBACK (etta_proxy_node_inserted), etta);
 
985
        etta->priv->node_removed_id = g_signal_connect (
 
986
                source, "node_removed",
 
987
                G_CALLBACK (etta_proxy_node_removed), etta);
 
988
        etta->priv->node_request_collapse_id = g_signal_connect (
 
989
                source, "node_request_collapse",
 
990
                G_CALLBACK (etta_proxy_node_request_collapse), etta);
915
991
 
916
992
        return E_TABLE_MODEL (etta);
917
993
}
918
994
 
919
995
ETableModel *
920
 
e_tree_table_adapter_new (ETreeModel *source, ETableSortInfo *sort_info, ETableHeader *header)
 
996
e_tree_table_adapter_new (ETreeModel *source,
 
997
                          ETableSortInfo *sort_info,
 
998
                          ETableHeader *header)
921
999
{
922
1000
        ETreeTableAdapter *etta = g_object_new (E_TYPE_TREE_TABLE_ADAPTER, NULL);
923
1001
 
933
1011
} TreeAndRoot;
934
1012
 
935
1013
static void
936
 
save_expanded_state_func (gpointer keyp, gpointer value, gpointer data)
 
1014
save_expanded_state_func (gpointer keyp,
 
1015
                          gpointer value,
 
1016
                          gpointer data)
937
1017
{
938
1018
        ETreePath path = keyp;
939
1019
        node_t *node = ((GNode *) value)->data;
974
1054
}
975
1055
 
976
1056
void
977
 
e_tree_table_adapter_save_expanded_state (ETreeTableAdapter *etta, const gchar *filename)
 
1057
e_tree_table_adapter_save_expanded_state (ETreeTableAdapter *etta,
 
1058
                                          const gchar *filename)
978
1059
{
979
1060
        xmlDoc *doc;
980
1061
 
988
1069
}
989
1070
 
990
1071
static xmlDoc *
991
 
open_file (ETreeTableAdapter *etta, const gchar *filename)
 
1072
open_file (ETreeTableAdapter *etta,
 
1073
           const gchar *filename)
992
1074
{
993
1075
        xmlDoc *doc;
994
1076
        xmlNode *root;
1034
1116
 
1035
1117
/* state: <0 ... collapse;  0 ... use default; >0 ... expand */
1036
1118
void
1037
 
e_tree_table_adapter_force_expanded_state (ETreeTableAdapter *etta, gint state)
 
1119
e_tree_table_adapter_force_expanded_state (ETreeTableAdapter *etta,
 
1120
                                           gint state)
1038
1121
{
1039
1122
        g_return_if_fail (etta != NULL);
1040
1123
 
1042
1125
}
1043
1126
 
1044
1127
void
1045
 
e_tree_table_adapter_load_expanded_state_xml (ETreeTableAdapter *etta, xmlDoc *doc)
 
1128
e_tree_table_adapter_load_expanded_state_xml (ETreeTableAdapter *etta,
 
1129
                                              xmlDoc *doc)
1046
1130
{
1047
1131
        xmlNode *root, *child;
1048
1132
        gboolean model_default;
1104
1188
}
1105
1189
 
1106
1190
void
1107
 
e_tree_table_adapter_load_expanded_state (ETreeTableAdapter *etta, const gchar *filename)
 
1191
e_tree_table_adapter_load_expanded_state (ETreeTableAdapter *etta,
 
1192
                                          const gchar *filename)
1108
1193
{
1109
1194
        xmlDoc *doc;
1110
1195
 
1120
1205
}
1121
1206
 
1122
1207
void
1123
 
e_tree_table_adapter_root_node_set_visible (ETreeTableAdapter *etta, gboolean visible)
 
1208
e_tree_table_adapter_root_node_set_visible (ETreeTableAdapter *etta,
 
1209
                                            gboolean visible)
1124
1210
{
1125
1211
        gint size;
1126
1212
 
1145
1231
}
1146
1232
 
1147
1233
void
1148
 
e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta, ETreePath path, gboolean expanded)
 
1234
e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta,
 
1235
                                        ETreePath path,
 
1236
                                        gboolean expanded)
1149
1237
{
1150
1238
        GNode *gnode = lookup_gnode (etta, path);
1151
1239
        node_t *node;
1203
1291
}
1204
1292
 
1205
1293
void
1206
 
e_tree_table_adapter_node_set_expanded_recurse (ETreeTableAdapter *etta, ETreePath path, gboolean expanded)
 
1294
e_tree_table_adapter_node_set_expanded_recurse (ETreeTableAdapter *etta,
 
1295
                                                ETreePath path,
 
1296
                                                gboolean expanded)
1207
1297
{
1208
1298
        ETreePath children;
1209
1299
 
1217
1307
}
1218
1308
 
1219
1309
ETreePath
1220
 
e_tree_table_adapter_node_at_row (ETreeTableAdapter *etta, gint row)
 
1310
e_tree_table_adapter_node_at_row (ETreeTableAdapter *etta,
 
1311
                                  gint row)
1221
1312
{
1222
1313
        return get_path (etta, row);
1223
1314
}
1224
1315
 
1225
1316
gint
1226
 
e_tree_table_adapter_row_of_node (ETreeTableAdapter *etta, ETreePath path)
 
1317
e_tree_table_adapter_row_of_node (ETreeTableAdapter *etta,
 
1318
                                  ETreePath path)
1227
1319
{
1228
1320
        return get_row (etta, path);
1229
1321
}
1235
1327
}
1236
1328
 
1237
1329
void
1238
 
e_tree_table_adapter_show_node (ETreeTableAdapter *etta, ETreePath path)
 
1330
e_tree_table_adapter_show_node (ETreeTableAdapter *etta,
 
1331
                                ETreePath path)
1239
1332
{
1240
1333
        ETreePath parent;
1241
1334
 
1248
1341
}
1249
1342
 
1250
1343
gboolean
1251
 
e_tree_table_adapter_node_is_expanded (ETreeTableAdapter *etta, ETreePath path)
 
1344
e_tree_table_adapter_node_is_expanded (ETreeTableAdapter *etta,
 
1345
                                       ETreePath path)
1252
1346
{
1253
1347
        node_t *node = get_node (etta, path);
1254
1348
        if (!e_tree_model_node_is_expandable (etta->priv->source, path) || !node)
1258
1352
}
1259
1353
 
1260
1354
void
1261
 
e_tree_table_adapter_set_sort_info (ETreeTableAdapter *etta, ETableSortInfo *sort_info)
 
1355
e_tree_table_adapter_set_sort_info (ETreeTableAdapter *etta,
 
1356
                                    ETableSortInfo *sort_info)
1262
1357
{
1263
1358
        if (etta->priv->sort_info) {
1264
1359
                g_signal_handler_disconnect (G_OBJECT (etta->priv->sort_info),
1269
1364
        etta->priv->sort_info = sort_info;
1270
1365
        if (sort_info) {
1271
1366
                g_object_ref (sort_info);
1272
 
                etta->priv->sort_info_changed_id = g_signal_connect(G_OBJECT(sort_info), "sort_info_changed",
1273
 
                                                                    G_CALLBACK (etta_sort_info_changed), etta);
 
1367
                etta->priv->sort_info_changed_id = g_signal_connect (
 
1368
                        sort_info, "sort_info_changed",
 
1369
                        G_CALLBACK (etta_sort_info_changed), etta);
1274
1370
        }
1275
1371
 
1276
1372
        if (!etta->priv->root)
1299
1395
}
1300
1396
 
1301
1397
ETreePath
1302
 
e_tree_table_adapter_node_get_next (ETreeTableAdapter *etta, ETreePath path)
 
1398
e_tree_table_adapter_node_get_next (ETreeTableAdapter *etta,
 
1399
                                    ETreePath path)
1303
1400
{
1304
1401
        GNode *node = lookup_gnode (etta, path);
1305
1402