#ifndef _E_TABLE_ITEM_H_
#define _E_TABLE_ITEM_H_

#include <libgnomeui/gnome-canvas.h>
#include "e-table-model.h"
#include "e-table-header.h"

#define E_TABLE_ITEM_TYPE        (e_table_item_get_type ())
#define E_TABLE_ITEM(o)          (GTK_CHECK_CAST ((o), E_TABLE_ITEM_TYPE, ETableItem))
#define E_TABLE_ITEM_CLASS(k)    (GTK_CHECK_CLASS_CAST((k), E_TABLE_ITEM_TYPE, ETableItemClass))
#define E_IS_TABLE_ITEM(o)       (GTK_CHECK_TYPE ((o), E_TABLE_ITEM_TYPE))
#define E_IS_TABLE_ITEM_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TABLE_ITEM_TYPE))

typedef struct {
	GnomeCanvasItem  parent;
	ETableModel     *table_model;
	ETableHeader    *header;

	int              x1, y1;
	int              width, height;

	int              cols, rows;
	
	/*
	 * Ids for the signals we connect to
	 */
	int              header_dim_change_id;
	int              header_structure_change_id;
	int              table_model_change_id;
	int              table_model_row_change_id;
	
	GdkGC           *fill_gc;
	GdkGC           *grid_gc;
	GdkGC           *focus_gc;
	GdkBitmap       *stipple;

	unsigned int     draw_grid:1;
	unsigned int     draw_focus:1;
	unsigned int     mode_spreadsheet:1;
	unsigned int     renderers_can_change_size:1;
	unsigned int     cell_views_realized:1;
	
	int              focused_col, focused_row;

	/*
	 * Realized views, per column
	 */
	ECellView      **cell_views;
	int              n_cells;

	/*
	 * Lengh Threshold: above this, we stop computing correctly
	 * the size
	 */
	int              length_threshold;

	GSList          *selection;
	GtkSelectionMode selection_mode;

	/*
	 * During edition
	 */
	int              editing_col, editing_row;
	void            *edit_ctx;
} ETableItem;

typedef struct {
	GnomeCanvasItemClass parent_class;

	void        (*row_selection)      (ETableItem *eti, int row, gboolean selected);
	void        (*resize)     (ETableItem *eti);
} ETableItemClass;

GtkType    e_table_item_get_type (void);

/*
 * Focus
 */
void       e_table_item_focus    (ETableItem *eti, int col, int row);
void       e_table_item_unfocus  (ETableItem *eti);

gint       e_table_item_get_focused_column (ETableItem *eti);

/*
 * Selection
 */
void        e_table_item_select_row    (ETableItem *e_table_Item, int row);
void        e_table_item_unselect_row  (ETableItem *e_table_Item, int row);

/*
 * Handling the selection
 */
const GSList*e_table_item_get_selection (ETableItem *e_table_Item);

GtkSelectionMode e_table_item_get_selection_mode (ETableItem *e_table_Item);
void             e_table_item_set_selection_mode (ETableItem *e_table_Item,
						  GtkSelectionMode selection_mode);
gboolean         e_table_item_is_row_selected    (ETableItem *e_table_Item,
						  int row);

void             e_table_item_leave_edit         (ETableItem *eti);
void             e_table_item_enter_edit         (ETableItem *eti, int col, int row);

void             e_table_item_redraw_range       (ETableItem *eti,
						  int start_col, int start_row,
						  int end_col, int end_row);

#endif /* _E_TABLE_ITEM_H_ */
.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' selected='selected'>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'>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=gnome-3.24'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=gnome-3.24'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/irc/cwirc?h=gnome-3.24'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/irc/cwirc?h=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/irc/cwirc?h=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/irc/cwirc?h=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/irc/cwirc?h=gnome-3.24'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/irc/cwirc'>
<input type='hidden' name='h' value='gnome-3.24'/><input type='hidden' name='id' value='3cd637bc453b87bc28043da7c725d3b527aa1ea3'/><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=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/irc?h=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3'>irc</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/irc/cwirc?h=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3'>cwirc</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/irc/cwirc?h=gnome-3.24&amp;id=3cd637bc453b87bc28043da7c725d3b527aa1ea3&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>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/irc/cwirc?h=gnome-3.24&amp;id=4ab972b7468e739167f0f48c87471c6c6b7da9e5'>- Get Rid MD5 support</a></td><td>miwi</td><td><span title='2011-03-19 20:38:54 +0800'>2011-03-19</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+0</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/irc/cwirc?h=gnome-3.24&amp;id=e8efdd21e5ff43846d793d8491abfecf222c6dc2'>- update to 1.4.1</a></td><td>dinoex</td><td><span title='2010-03-28 14:47:48 +0800'>2010-03-28</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/irc/cwirc?h=gnome-3.24&amp;id=444a47ba39d176ab6be5d165b2147eacd2897112'>- update to jpeg-8</a></td><td>dinoex</td><td><span title='2010-02-05 19:46:55 +0800'>2010-02-05</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/irc/cwirc?h=gnome-3.24&amp;id=ffdf8b50b5fa0b45b4be6b17b68ced12a00bda87'>- bump all port that indirectly depends on libjpeg and have not yet been bump...</a></td><td>dinoex</td><td><span title='2009-07-31 21:57:52 +0800'>2009-07-31</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr>