aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table/e-table-sorted.h
blob: 65578b7b8380b6d8ab084235f5a8c1448fc82c20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef _E_TABLE_SORTED_H_
#define _E_TABLE_SORTED_H_

#include <gtk/gtkobject.h>
#include "e-table-model.h"
#include "e-table-header.h"

#define E_TABLE_SORTED_TYPE        (e_table_sorted_get_type ())
#define E_TABLE_SORTED(o)          (GTK_CHECK_CAST ((o), E_TABLE_SORTED_TYPE, ETableSorted))
#define E_TABLE_SORTED_CLASS(k)    (GTK_CHECK_CLASS_CAST((k), E_TABLE_SORTED_TYPE, ETableSortedClass))
#define E_IS_TABLE_SORTED(o)       (GTK_CHECK_TYPE ((o), E_TABLE_SORTED_TYPE))
#define E_IS_TABLE_SORTED_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TABLE_SORTED_TYPE))

typedef struct {
    ETableModel base;

    ETableModel  *source;
    ETableHeader *header;
    ETableCol    *sort_col;
    short         sort_idx;
    
    int           n_map;
    unsigned int  *map_table;
} ETableSorted;

typedef struct {
    ETableModelClass parent_class;
} ETableSortedClass;

GtkType      e_table_sorted_get_type (void);
ETableModel *e_table_sorted_new      (ETableModel *etm, ETableHeader *header,
                      short sort_field);

#endif /* _E_TABLE_SORTED_H_ */