The E-Table package implements an editable table that provides user-defined rendering, user-defined editing, sorting and grouping of the objects displayed. It is inspired by Java's Swing JTable object. There are models for the actual table contents and for the table headers; they are the actual repository of information. The objects are rendered by various view objects. In the current code base, we use we use GnomeCanvasItems to do the rendering. One for each table and one for the headers. * The Models All of them are GtkObjects. e-table-model.h, e-table-model.c: These implement the abstract E-Table-Model class. You can derive this object to create your own data repository. e-table-simple.h, e-table-simple.c: A simple implementation of e-table-model that uses callback routines (you provide the callbacks). For lazy people, like me. e-table-header.h, e-table-header.c: These implement the ETableHeader model. They describe what columns are shown in the screen and in which order. e-table-col.h, e-table-col.c: Describes a single column (the size, the string displayed, the rendering function for each row, comparission function for thsi field). * The Views e-table-item.c, e-table-item.h This is a canvas item that renders the contents of a ETableModel into the screen. e-table-header-item.c, e-table-header-item.h This canvas item renders the ETableHeader headings. * The Filters e-table-sorted.c, e-table-sorted.h This is an ETableModel that can sort an existing ETableModel.