aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-header.h
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-05-14 22:31:22 +0800
committerChris Lahey <clahey@src.gnome.org>2000-05-14 22:31:22 +0800
commit32471accadcf2099f9d3567f51add9fab197ec24 (patch)
tree8b070bcbdbcd962de9016b0fceaa15ec45848310 /widgets/table/e-table-header.h
parent623ba9a279db035339ac8ae5030683c1e79b8618 (diff)
downloadgsoc2013-evolution-32471accadcf2099f9d3567f51add9fab197ec24.tar
gsoc2013-evolution-32471accadcf2099f9d3567f51add9fab197ec24.tar.gz
gsoc2013-evolution-32471accadcf2099f9d3567f51add9fab197ec24.tar.bz2
gsoc2013-evolution-32471accadcf2099f9d3567f51add9fab197ec24.tar.lz
gsoc2013-evolution-32471accadcf2099f9d3567f51add9fab197ec24.tar.xz
gsoc2013-evolution-32471accadcf2099f9d3567f51add9fab197ec24.tar.zst
gsoc2013-evolution-32471accadcf2099f9d3567f51add9fab197ec24.zip
From widgets/e-table/ChangeLog
2000-05-14 Christopher James Lahey <clahey@helixcode.com> * Implemented the feature where the ETable columns automatically fill the given space. * e-cell-text.c, e-cell-text.h: Moved #include e-text-event-processor.h from the .h to the .c. * e-table-col.c, e-table-col.h: Added an expansion variable, and made it so that width isn't set by the programmer but instead by the e-table-header. * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Fixed to handle new ETable column resizing. * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h: Fixed these to do a proper canvas reflow/update loop. Changed them to take a minimum width and return a width and a height. * e-table-header-item.c, e-table-header-item.h: Made this so that it depends on e-table-header.c for deciding the actual size of columns during resize (it was making incorrect decisions on its own.) * e-table-header.c, e-table-header.h: Changed this to make sure that the sum of the widths of the columns was always as close as possible to the width of the window. This is done by taking a full width and having each of the columns have an "expansion" field. This field is what makes each column have approximately the same portion of its part of the screen that it used to. * e-table.c: Changed this to set the width on the ETableHeader as well as set the proper minimum width on the ETableGroup and get the width and height it reports. From addressbook/ChangeLog 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am: Added libeutil for e-card's support for categories. * backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Added a function to get the length. * backend/ebook/e-card.c, backend/ebook/e-card.h: Added categories support (accessible either as "categories" or "category_list".) * contact-editor/Makefile.am: Added e-table and all of the categories files. * contact-editor/categories.glade, contact-editor/categories-strings.h, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h: * contact-editor/contact-editor.glade, contact-editor/e-contact-editor-strings.h: Rearranged this dialog. * contact-editor/e-contact-editor.c: Rearranged dialog a bit. Added opening of categories dialog. * gui/component/Makefile.am: Rearranged libraries so that libetable would be available for the contact editor categories dialog. * gui/component/addressbook.c: Fix for new ETable resizing. Make contact editor dialog resizable. * gui/minicard/Makefile.am: Added libetable contact editor categories dialog. * gui/minicard/e-minicard.c: Make contact editor dialog resizable. From mail/ChangeLog 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Updated to work with new ETable resizing. svn path=/trunk/; revision=3027
Diffstat (limited to 'widgets/table/e-table-header.h')
-rw-r--r--widgets/table/e-table-header.h34
1 files changed, 9 insertions, 25 deletions
diff --git a/widgets/table/e-table-header.h b/widgets/table/e-table-header.h
index 244de59982..6ff4874f6f 100644
--- a/widgets/table/e-table-header.h
+++ b/widgets/table/e-table-header.h
@@ -4,6 +4,7 @@
#include <gtk/gtkobject.h>
#include <gdk/gdk.h>
+#include "e-table-sort-info.h"
#include "e-table-col.h"
typedef struct _ETableHeader ETableHeader;
@@ -14,13 +15,6 @@ typedef struct _ETableHeader ETableHeader;
#define E_IS_TABLE_HEADER(o) (GTK_CHECK_TYPE ((o), E_TABLE_HEADER_TYPE))
#define E_IS_TABLE_HEADER_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TABLE_HEADER_TYPE))
-#if 0
-typedef struct {
- int model_col;
- int ascending;
-} ETableHeaderSortInfo;
-#endif
-
/*
* A Columnar header.
*/
@@ -28,14 +22,13 @@ struct _ETableHeader {
GtkObject base;
int col_count;
+ int width;
+
+ ETableSortInfo *sort_info;
+ int sort_info_group_change_id;
+
ETableCol **columns;
gboolean selectable;
-
-#if 0
- ETableHeaderSortInfo sort_info;
- ETableHeaderSortInfo *grouping;
- gint grouping_count;
-#endif
};
typedef struct {
@@ -59,18 +52,6 @@ int e_table_header_get_index_at (ETableHeader *eth,
int x_offset);
ETableCol **e_table_header_get_columns (ETableHeader *eth);
-#if 0
-ETableHeaderSortInfo e_table_header_get_sort_info (ETableHeader *eth);
-void e_table_header_set_sort_info (ETableHeader *eth, ETableHeaderSortInfo info);
-
-int e_table_header_get_group_count (ETableHeader *eth);
-ETableHeaderSortInfo *e_table_header_get_groups (ETableHeader *eth);
-ETableHeaderSortInfo e_table_header_get_group (ETableHeader *eth, gint index);
-void e_table_header_grouping_insert (ETableHeader *eth, gint index, ETableHeaderSortInfo info);
-void e_table_header_grouping_delete (ETableHeader *eth, gint index);
-void e_table_header_grouping_move (ETableHeader *eth, gint old_idx, gint new_idx);
-#endif
-
gboolean e_table_header_selection_ok (ETableHeader *eth);
int e_table_header_get_selected (ETableHeader *eth);
int e_table_header_total_width (ETableHeader *eth);
@@ -78,6 +59,7 @@ void e_table_header_move (ETableHeader *eth,
int source_index,
int target_index);
void e_table_header_remove (ETableHeader *eth, int idx);
+void e_table_header_set_width (ETableHeader *eth, int width);
void e_table_header_set_size (ETableHeader *eth, int idx, int size);
void e_table_header_set_selection (ETableHeader *eth,
gboolean allow_selection);
@@ -85,6 +67,8 @@ void e_table_header_set_selection (ETableHeader *eth,
int e_table_header_col_diff (ETableHeader *eth,
int start_col, int end_col);
+void e_table_header_calc_widths (ETableHeader *eth);
+
GList *e_table_header_get_selected_indexes (ETableHeader *eth);