/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
#ifndef _E_TABLE_H_
#define _E_TABLE_H_

#include <libgnomeui/gnome-canvas.h>
#include <gtk/gtktable.h>
#include <gnome-xml/tree.h>
#include "e-table-model.h"
#include "e-table-header.h"
#include "e-table-group.h"

BEGIN_GNOME_DECLS

#define E_TABLE_TYPE        (e_table_get_type ())
#define E_TABLE(o)          (GTK_CHECK_CAST ((o), E_TABLE_TYPE, ETable))
#define E_TABLE_CLASS(k)    (GTK_CHECK_CLASS_CAST((k), E_TABLE_TYPE, ETableClass))
#define E_IS_TABLE(o)       (GTK_CHECK_TYPE ((o), E_TABLE_TYPE))
#define E_IS_TABLE_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TABLE_TYPE))

typedef struct {
	GtkTable parent;

	ETableModel *model;

	ETableHeader *full_header, *header;

	ETableGroup  *group;

	int table_model_change_id;
	int table_row_change_id;
	int table_cell_change_id;

	GnomeCanvas *header_canvas, *table_canvas;

	GnomeCanvasItem *header_item, *root;

	xmlDoc *specification;
	
	guint draw_grid:1;
	guint draw_focus:1;
	guint spreadsheet:1;
	
	guint need_rebuild:1;
	guint need_row_changes:1;
	
	GHashTable *row_changes_list;
	gint rebuild_idle_id;
} ETable;

typedef struct {
	GtkTableClass parent_class;
} ETableClass;

GtkType    e_table_get_type  (void);
void       e_table_construct (ETable *e_table, ETableHeader *full_header, ETableModel *etm,
			      const char *spec);
GtkWidget *e_table_new       (ETableHeader *full_header, ETableModel *etm,
			      const char *spec);


END_GNOME_DECLS

 #endif /* _E_TABLE_H_ */
ption value='dependabot/npm_and_yarn/devel/electron4/files/bl-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/bl-1.2.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7'>dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option>
<option value='gnome-3.22'>gnome-3.22</option>
<option value='gnome-3.24'>gnome-3.24</option>
<option value='gnome-3.26'>gnome-3.26</option>
<option value='gnome-3.28'>gnome-3.28</option>
<option value='gnome-3.32'>gnome-3.32</option>
<option value='gnome-3.36'>gnome-3.36</option>
<option value='gstreamer'>gstreamer</option>
<option value='gstreamer-1.16'>gstreamer-1.16</option>
<option value='gstreamer0.10-removal'>gstreamer0.10-removal</option>
<option value='main'>main</option>
<option value='master'>master</option>
<option value='mate-1.16' selected='selected'>mate-1.16</option>
<option value='mate-1.18'>mate-1.18</option>
<option value='mate-1.20'>mate-1.20</option>
<option value='mate-1.22'>mate-1.22</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/?h=mate-1.16'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=mate-1.16'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/net/44bsd-rdist/pkg-descr?h=mate-1.16'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/net/44bsd-rdist/pkg-descr?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/net/44bsd-rdist/pkg-descr?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/net/44bsd-rdist/pkg-descr?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/net/44bsd-rdist/pkg-descr?h=mate-1.16'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/net/44bsd-rdist/pkg-descr'>
<input type='hidden' name='h' value='mate-1.16'/><input type='hidden' name='id' value='0b42143dea1a55d0f1f6d09704bbc131e1b633ed'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/net?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>net</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/net/44bsd-rdist?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>44bsd-rdist</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/net/44bsd-rdist/pkg-descr?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed'>pkg-descr</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/net/44bsd-rdist/pkg-descr?h=mate-1.16&amp;id=0b42143dea1a55d0f1f6d09704bbc131e1b633ed&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
devel/p5-PerlIO-via-symlink?h=gnome-3.24&amp;id=c94d115b8e9cb4ad3d8424685fe7c324767594f3'>- Take advantage of CPAN macro from bsd.sites.mk, change ${MASTER_SITE_PERL_C...</a></td><td>araujo</td><td><span title='2008-04-17 22:30:31 +0800'>2008-04-17</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+1</span></td></tr>