<refentry id="ETableSimple" revision="12 Jan 2001">
<refmeta>
<refentrytitle>ETableSimple</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GAL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>ETableSimple</refname><refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>
<synopsis>



typedef     <link linkend="ETableSimple">ETableSimple</link>;
#define     <link linkend="E-TABLE-SIMPLE-TYPE-CAPS">E_TABLE_SIMPLE_TYPE</link>
int         (<link linkend="ETableSimpleColumnCountFn">*ETableSimpleColumnCountFn</link>)    (<link linkend="ETableModel">ETableModel</link> *etm,
                                             void *data);
int         (<link linkend="ETableSimpleRowCountFn">*ETableSimpleRowCountFn</link>)       (<link linkend="ETableModel">ETableModel</link> *etm,
                                             void *data);
void*       (<link linkend="ETableSimpleValueAtFn">*ETableSimpleValueAtFn</link>)        (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             int row,
                                             void *data);
void        (<link linkend="ETableSimpleSetValueAtFn">*ETableSimpleSetValueAtFn</link>)     (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             int row,
                                             const void *val,
                                             void *data);
<link linkend="gboolean">gboolean</link>    (<link linkend="ETableSimpleIsCellEditableFn">*ETableSimpleIsCellEditableFn</link>) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             int row,
                                             void *data);
void        (<link linkend="ETableSimpleAppendRowFn">*ETableSimpleAppendRowFn</link>)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="ETableModel">ETableModel</link> *model,
                                             int row,
                                             void *data);
void*       (<link linkend="ETableSimpleDuplicateValueFn">*ETableSimpleDuplicateValueFn</link>) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             const void *val,
                                             void *data);
void        (<link linkend="ETableSimpleFreeValueFn">*ETableSimpleFreeValueFn</link>)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             void *val,
                                             void *data);
void*       (<link linkend="ETableSimpleInitializeValueFn">*ETableSimpleInitializeValueFn</link>)
                                            (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             void *data);
<link linkend="gboolean">gboolean</link>    (<link linkend="ETableSimpleValueIsEmptyFn">*ETableSimpleValueIsEmptyFn</link>)   (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             const void *val,
                                             void *data);
char*       (<link linkend="ETableSimpleValueToStringFn">*ETableSimpleValueToStringFn</link>)  (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             const void *val,
                                             void *data);
<link linkend="ETableModel">ETableModel</link>* <link linkend="e-table-simple-new">e_table_simple_new</link>             (<link linkend="ETableSimpleColumnCountFn">ETableSimpleColumnCountFn</link> col_count,
                                             <link linkend="ETableSimpleRowCountFn">ETableSimpleRowCountFn</link> row_count,
                                             <link linkend="ETableSimpleValueAtFn">ETableSimpleValueAtFn</link> value_at,
                                             <link linkend="ETableSimpleSetValueAtFn">ETableSimpleSetValueAtFn</link> set_value_at,
                                             <link linkend="ETableSimpleIsCellEditableFn">ETableSimpleIsCellEditableFn</link> is_cell_editable,
                                             <link linkend="ETableSimpleDuplicateValueFn">ETableSimpleDuplicateValueFn</link> duplicate_value,
                                             <link linkend="ETableSimpleFreeValueFn">ETableSimpleFreeValueFn</link> free_value,
                                             <link linkend="ETableSimpleInitializeValueFn">ETableSimpleInitializeValueFn</link> initialize_value,
                                             <link linkend="ETableSimpleValueIsEmptyFn">ETableSimpleValueIsEmptyFn</link> value_is_empty,
                                             <link linkend="ETableSimpleValueToStringFn">ETableSimpleValueToStringFn</link> value_to_string,
                                             void *data);

</synopsis>
</refsynopsisdiv>

<refsect1>
<title>Object Hierarchy</title>
<synopsis>

  <link linkend="GtkObject">GtkObject</link>
   +----<link linkend="ETableModel">ETableModel</link>
         +----ETableSimple
</synopsis>

</refsect1>

<refsect1>
<title>Args</title>
<synopsis>

  &quot;<link linkend="ETableSimple--append-row">append_row</link>&quot;           <link linkend="gpointer">gpointer</link>             : Read / Write
</synopsis>
</refsect1>



<refsect1>
<title>Description</title>
<para>

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="ETableSimple">ETableSimple</title>
<programlisting>typedef struct {
	ETableModel parent;

	ETableSimpleColumnCountFn     col_count;
	ETableSimpleRowCountFn        row_count;
	ETableSimpleValueAtFn         value_at;
	ETableSimpleSetValueAtFn      set_value_at;
	ETableSimpleIsCellEditableFn  is_cell_editable;
	ETableSimpleDuplicateValueFn  duplicate_value;
	ETableSimpleFreeValueFn       free_value;
	ETableSimpleInitializeValueFn initialize_value;
	ETableSimpleValueIsEmptyFn    value_is_empty;
	ETableSimpleValueToStringFn   value_to_string;
	ETableSimpleAppendRowFn       append_row;
	void *data;
} ETableSimple;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="E-TABLE-SIMPLE-TYPE-CAPS">E_TABLE_SIMPLE_TYPE</title>
<programlisting>#define E_TABLE_SIMPLE_TYPE        (e_table_simple_get_type ())
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ETableSimpleColumnCountFn">ETableSimpleColumnCountFn ()</title>
<programlisting>int         (*ETableSimpleColumnCountFn)    (<link linkend="ETableModel">ETableModel</link> *etm,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleRowCountFn">ETableSimpleRowCountFn ()</title>
<programlisting>int         (*ETableSimpleRowCountFn)       (<link linkend="ETableModel">ETableModel</link> *etm,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleValueAtFn">ETableSimpleValueAtFn ()</title>
<programlisting>void*       (*ETableSimpleValueAtFn)        (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             int row,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>row</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleSetValueAtFn">ETableSimpleSetValueAtFn ()</title>
<programlisting>void        (*ETableSimpleSetValueAtFn)     (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             int row,
                                             const void *val,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>row</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>val</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleIsCellEditableFn">ETableSimpleIsCellEditableFn ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    (*ETableSimpleIsCellEditableFn) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             int row,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>row</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleAppendRowFn">ETableSimpleAppendRowFn ()</title>
<programlisting>void        (*ETableSimpleAppendRowFn)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="ETableModel">ETableModel</link> *model,
                                             int row,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>model</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>row</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleDuplicateValueFn">ETableSimpleDuplicateValueFn ()</title>
<programlisting>void*       (*ETableSimpleDuplicateValueFn) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             const void *val,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>val</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleFreeValueFn">ETableSimpleFreeValueFn ()</title>
<programlisting>void        (*ETableSimpleFreeValueFn)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             void *val,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>val</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleInitializeValueFn">ETableSimpleInitializeValueFn ()</title>
<programlisting>void*       (*ETableSimpleInitializeValueFn)
                                            (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleValueIsEmptyFn">ETableSimpleValueIsEmptyFn ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    (*ETableSimpleValueIsEmptyFn)   (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             const void *val,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>val</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="ETableSimpleValueToStringFn">ETableSimpleValueToStringFn ()</title>
<programlisting>char*       (*ETableSimpleValueToStringFn)  (<link linkend="ETableModel">ETableModel</link> *etm,
                                             int col,
                                             const void *val,
                                             void *data);</programlisting>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>etm</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>col</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>val</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="e-table-simple-new">e_table_simple_new ()</title>
<programlisting><link linkend="ETableModel">ETableModel</link>* e_table_simple_new             (<link linkend="ETableSimpleColumnCountFn">ETableSimpleColumnCountFn</link> col_count,
                                             <link linkend="ETableSimpleRowCountFn">ETableSimpleRowCountFn</link> row_count,
                                             <link linkend="ETableSimpleValueAtFn">ETableSimpleValueAtFn</link> value_at,
                                             <link linkend="ETableSimpleSetValueAtFn">ETableSimpleSetValueAtFn</link> set_value_at,
                                             <link linkend="ETableSimpleIsCellEditableFn">ETableSimpleIsCellEditableFn</link> is_cell_editable,
                                             <link linkend="ETableSimpleDuplicateValueFn">ETableSimpleDuplicateValueFn</link> duplicate_value,
                                             <link linkend="ETableSimpleFreeValueFn">ETableSimpleFreeValueFn</link> free_value,
                                             <link linkend="ETableSimpleInitializeValueFn">ETableSimpleInitializeValueFn</link> initialize_value,
                                             <link linkend="ETableSimpleValueIsEmptyFn">ETableSimpleValueIsEmptyFn</link> value_is_empty,
                                             <link linkend="ETableSimpleValueToStringFn">ETableSimpleValueToStringFn</link> value_to_string,
                                             void *data);</programlisting>
<para>
This initializes a new ETableSimpleModel object.  ETableSimpleModel is
an implementaiton of the abstract class ETableModel.  The ETableSimpleModel
is designed to allow people to easily create ETableModels without having
to create a new GtkType derived from ETableModel every time they need one.
</para>
<para>
Instead, ETableSimpleModel uses a setup based in callback functions, every
callback function signature mimics the signature of each ETableModel method
and passes the extra <parameter>data</parameter> pointer to each one of the method to provide them
with any context they might want to use.</para>
<para>

</para><informaltable pgwide=1 frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>col_count</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>row_count</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>value_at</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>set_value_at</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>is_cell_editable</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>duplicate_value</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>free_value</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>initialize_value</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>value_is_empty</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>value_to_string</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry> closure pointer.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> An ETableSimpleModel object (which is also an ETableModel
object).
</entry></row>
</tbody></tgroup></informaltable></refsect2>

</refsect1>
<refsect1>
<title>Args</title>
<variablelist>
<varlistentry><term><anchor id="ETableSimple--append-row">&quot;<literal>append_row</literal>&quot; (<link linkend="gpointer">gpointer</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>

</variablelist>
</refsect1>




</refentry>
