Made this able to take -1 to denote appending to the table. Also, removed

2001-03-22  Christopher James Lahey  <clahey@ximian.com>

	* e-table-memory.c, e-table-memory.h (e_table_memory_insert): Made
	this able to take -1 to denote appending to the table.  Also,
	removed the node_ from the name of this function.
	(e_table_memory_remove): Removed the node_ from the name of this
	function.
	(e_table_memory_clear): New function which sets the table to
	empty.

svn path=/trunk/; revision=8886
This commit is contained in:
Christopher James Lahey
2001-03-22 09:56:31 +00:00
committed by Chris Lahey
parent 46c32e77f9
commit 3307531519
2 changed files with 48 additions and 23 deletions

View File

@ -124,9 +124,9 @@ e_table_memory_new (void)
}
/**
* e_table_memory_node_get_data:
* e_table_memory_get_data:
* @etmm:
* @node:
* @row:
*
*
*
@ -142,46 +142,49 @@ e_table_memory_get_data (ETableMemory *etmm, int row)
}
/**
* e_table_memory_node_set_data:
* e_table_memory_set_data:
* @etmm:
* @node:
* @node_data:
* @row:
* @data:
*
*
**/
void
e_table_memory_set_data (ETableMemory *etmm, int row, gpointer node_data)
e_table_memory_set_data (ETableMemory *etmm, int row, gpointer data)
{
g_return_if_fail(row < 0);
g_return_if_fail(row > etmm->priv->num_rows);
etmm->priv->data[row] = node_data;
etmm->priv->data[row] = data;
}
/**
* e_table_memory_node_insert:
* e_table_memory_insert:
* @table_model:
* @parent_path:
* @position:
* @node_data:
* @data:
*
*
*
* Return value:
**/
void
e_table_memory_node_insert (ETableMemory *etmm,
int row,
gpointer node_data)
e_table_memory_insert (ETableMemory *etmm,
int row,
gpointer data)
{
g_return_if_fail(row < 0);
g_return_if_fail(row < -1);
g_return_if_fail(row > etmm->priv->num_rows);
if (!etmm->priv->frozen)
e_table_model_pre_change(E_TABLE_MODEL(etmm));
if (row == -1)
row = etmm->priv->num_rows;
etmm->priv->data = g_renew(gpointer, etmm->priv->data, etmm->priv->num_rows + 1);
memmove(etmm->priv->data + row + 1, etmm->priv->data + row, (etmm->priv->num_rows - row) * sizeof (gpointer));
etmm->priv->data[row] = node_data;
etmm->priv->data[row] = data;
etmm->priv->num_rows ++;
if (!etmm->priv->frozen)
e_table_model_row_inserted(E_TABLE_MODEL(etmm), row);
@ -190,7 +193,7 @@ e_table_memory_node_insert (ETableMemory *etmm,
/**
* e_table_memory_node_remove:
* e_table_memory_remove:
* @etable:
* @path:
*
@ -199,7 +202,7 @@ e_table_memory_node_insert (ETableMemory *etmm,
* Return value:
**/
gpointer
e_table_memory_node_remove (ETableMemory *etmm, int row)
e_table_memory_remove (ETableMemory *etmm, int row)
{
gpointer ret;
@ -216,6 +219,27 @@ e_table_memory_node_remove (ETableMemory *etmm, int row)
return ret;
}
/**
* e_table_memory_clear:
* @etable:
* @path:
*
*
*
* Return value:
**/
void
e_table_memory_clear (ETableMemory *etmm)
{
if (!etmm->priv->frozen)
e_table_model_pre_change(E_TABLE_MODEL(etmm));
g_free(etmm->priv->data);
etmm->priv->data = NULL;
etmm->priv->num_rows = 0;
if (!etmm->priv->frozen)
e_table_model_changed(E_TABLE_MODEL(etmm));
}
/**
* e_table_memory_freeze:
* @etmm: the ETableModel to freeze.

View File

@ -34,12 +34,13 @@ GtkType e_table_memory_get_type (void);
void e_table_memory_construct (ETableMemory *etable);
ETableMemory *e_table_memory_new (void);
/* node operations */
void e_table_memory_node_insert (ETableMemory *etable,
int row,
gpointer node_data);
gpointer e_table_memory_node_remove (ETableMemory *etable,
int row);
/* row operations */
void e_table_memory_insert (ETableMemory *etable,
int row,
gpointer data);
gpointer e_table_memory_remove (ETableMemory *etable,
int row);
void e_table_memory_clear (ETableMemory *etable);
/* Freeze and thaw */
void e_table_memory_freeze (ETableMemory *etable);
@ -48,7 +49,7 @@ gpointer e_table_memory_get_data (ETableMemory *etm,
int row);
void e_table_memory_set_data (ETableMemory *etm,
int row,
gpointer node_data);
gpointer data);
#ifdef __cplusplus
}