Files
evolution/widgets/table/e-table-config.h
Miguel de Icaza 337910e031 Do most of the work to get Grouping working, by reusing massive ammounts
Do most of the work to get Grouping working, by reusing massive
ammounts of code from the sorting pieces.

2001-01-19  Miguel de Icaza  <miguel@gnu.org>

	* e-table-config.c (group_entry_changed, group_ascending_toggled):
	New methods.
	(configure_group_dialog): New function, sets up the group GUI.
	(e_table_config_construct): Populate column names here and use in
	configure_group_dialog and configure_sort_dialog

	(sort_entry_changed, sort_ascending_toggled): renamed from
	entry_changed, ascending_toggled.

svn path=/trunk/; revision=7637
2001-01-19 06:39:31 +00:00

72 lines
2.0 KiB
C

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
#ifndef _E_TABLE_CONFIG_H_
#define _E_TABLE_CONFIG_H_
#include <gnome.h>
#include <gal/e-table/e-table-sort-info.h>
#include <gal/e-table/e-table-specification.h>
#include <gal/widgets/gtk-combo-text.h>
#define E_TABLE_CONFIG_TYPE (e_table_config_get_type ())
#define E_TABLE_CONFIG(o) (GTK_CHECK_CAST ((o), E_TABLE_CONFIG_TYPE, ETableConfig))
#define E_TABLE_CONFIG_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_TABLE_CONFIG_TYPE, ETableConfigClass))
#define E_IS_TABLE_CONFIG(o) (GTK_CHECK_TYPE ((o), E_TABLE_CONFIG_TYPE))
#define E_IS_TABLE_CONFIG_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TABLE_CONFIG_TYPE))
typedef struct {
GtkComboText *combo;
GtkWidget *frames;
GtkWidget *radio_ascending;
GtkWidget *radio_descending;
GtkWidget *view_check; /* Only for group dialog */
guint changed_id, toggled_id;
void *e_table_config;
} ETableConfigSortWidgets;
typedef struct {
GtkObject parent;
/*
* Our various dialog boxes
*/
GtkWidget *dialog_toplevel;
GtkWidget *dialog_show_fields;
GtkWidget *dialog_group_by;
GtkWidget *dialog_sort;
/*
* The state we manipulate
*/
ETableSpecification *source_spec;
ETableState *source_state, *state, *temp_state;
GtkWidget *sort_label;
GtkWidget *group_label;
GtkWidget *fields_label;
ETableConfigSortWidgets sort [4];
ETableConfigSortWidgets group [4];
/*
* List of valid column names
*/
GSList *column_names;
} ETableConfig;
typedef struct {
GtkObjectClass parent_class;
} ETableConfigClass;
GtkType e_table_config_get_type (void);
ETableConfig *e_table_config_new (const char *header,
ETableSpecification *spec,
ETableState *state);
ETableConfig *e_table_config_construct (ETableConfig *etco,
const char *header,
ETableSpecification *spec,
ETableState *state);
void e_table_config_raise (ETableConfig *config);
#endif /* _E_TABLE_CONFIG_H */