diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-06-28 22:11:21 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-07-02 22:34:10 +0800 |
commit | ad5ed0d603b0b915865bef3c4edc996378696187 (patch) | |
tree | 828eca186260e34b8f9c106b46519981437bdbd4 /e-util/e-table-sort-info.h | |
parent | ce3e2091c2ff7a581bfa959d71050a059d48ee94 (diff) | |
download | gsoc2013-evolution-ad5ed0d603b0b915865bef3c4edc996378696187.tar.gz gsoc2013-evolution-ad5ed0d603b0b915865bef3c4edc996378696187.tar.zst gsoc2013-evolution-ad5ed0d603b0b915865bef3c4edc996378696187.zip |
ETableSortInfo: Rework API to avoid exposing ETableSortColumn.
Replace ETableSortColumn with separate ETableColumnSpecification and
GtkSortType parameters in the "get_nth" and "set_nth" functions.
Makes some other parts of the code simpler since it no longer has to
translate a column number to a column specification.
Diffstat (limited to 'e-util/e-table-sort-info.h')
-rw-r--r-- | e-util/e-table-sort-info.h | 84 |
1 files changed, 44 insertions, 40 deletions
diff --git a/e-util/e-table-sort-info.h b/e-util/e-table-sort-info.h index 64ed8640e7..583feba67a 100644 --- a/e-util/e-table-sort-info.h +++ b/e-util/e-table-sort-info.h @@ -23,9 +23,11 @@ #ifndef E_TABLE_SORT_INFO_H #define E_TABLE_SORT_INFO_H -#include <glib-object.h> +#include <gtk/gtk.h> #include <libxml/tree.h> +#include <e-util/e-table-column-specification.h> + /* Standard GObject macros */ #define E_TYPE_TABLE_SORT_INFO \ (e_table_sort_info_get_type ()) @@ -50,17 +52,10 @@ G_BEGIN_DECLS /* Avoid a circular dependency. */ struct _ETableSpecification; -typedef struct _ETableSortColumn ETableSortColumn; - typedef struct _ETableSortInfo ETableSortInfo; typedef struct _ETableSortInfoClass ETableSortInfoClass; typedef struct _ETableSortInfoPrivate ETableSortInfoPrivate; -struct _ETableSortColumn { - guint column : 31; - guint ascending : 1; -}; - struct _ETableSortInfo { GObject parent; ETableSortInfoPrivate *priv; @@ -74,51 +69,60 @@ struct _ETableSortInfoClass { void (*group_info_changed) (ETableSortInfo *sort_info); }; -GType e_table_sort_info_get_type (void) G_GNUC_CONST; -ETableSortInfo *e_table_sort_info_new (struct _ETableSpecification *specification); +GType e_table_sort_info_get_type + (void) G_GNUC_CONST; +ETableSortInfo *e_table_sort_info_new (struct _ETableSpecification *specification); struct _ETableSpecification * e_table_sort_info_ref_specification - (ETableSortInfo *sort_info); -gboolean e_table_sort_info_get_can_group (ETableSortInfo *sort_info); -void e_table_sort_info_set_can_group (ETableSortInfo *sort_info, - gboolean can_group); + (ETableSortInfo *sort_info); +gboolean e_table_sort_info_get_can_group + (ETableSortInfo *sort_info); +void e_table_sort_info_set_can_group + (ETableSortInfo *sort_info, + gboolean can_group); guint e_table_sort_info_grouping_get_count - (ETableSortInfo *sort_info); + (ETableSortInfo *sort_info); void e_table_sort_info_grouping_truncate - (ETableSortInfo *sort_info, - guint length); -ETableSortColumn + (ETableSortInfo *sort_info, + guint length); +ETableColumnSpecification * e_table_sort_info_grouping_get_nth - (ETableSortInfo *sort_info, - guint n); + (ETableSortInfo *sort_info, + guint n, + GtkSortType *out_sort_type); void e_table_sort_info_grouping_set_nth - (ETableSortInfo *sort_info, - guint n, - ETableSortColumn column); + (ETableSortInfo *sort_info, + guint n, + ETableColumnSpecification *spec, + GtkSortType sort_type); guint e_table_sort_info_sorting_get_count - (ETableSortInfo *sort_info); + (ETableSortInfo *sort_info); void e_table_sort_info_sorting_remove - (ETableSortInfo *sort_info, - guint n); + (ETableSortInfo *sort_info, + guint n); void e_table_sort_info_sorting_truncate - (ETableSortInfo *sort_info, - guint length); -ETableSortColumn + (ETableSortInfo *sort_info, + guint length); +ETableColumnSpecification * e_table_sort_info_sorting_get_nth - (ETableSortInfo *sort_info, - guint n); + (ETableSortInfo *sort_info, + guint n, + GtkSortType *out_sort_type); void e_table_sort_info_sorting_set_nth - (ETableSortInfo *sort_info, - guint n, - ETableSortColumn column); + (ETableSortInfo *sort_info, + guint n, + ETableColumnSpecification *spec, + GtkSortType sort_type); void e_table_sort_info_load_from_node - (ETableSortInfo *sort_info, - xmlNode *node, - gdouble state_version); -xmlNode * e_table_sort_info_save_to_node (ETableSortInfo *sort_info, - xmlNode *parent); -ETableSortInfo *e_table_sort_info_duplicate (ETableSortInfo *sort_info); + (ETableSortInfo *sort_info, + xmlNode *node, + gdouble state_version); +xmlNode * e_table_sort_info_save_to_node + (ETableSortInfo *sort_info, + xmlNode *parent); +ETableSortInfo *e_table_sort_info_duplicate + (ETableSortInfo *sort_info); G_END_DECLS |