<refentry id="ETableSimple">
<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>
<link linkend="int">int</link>         (<link linkend="ETableSimpleColumnCountFn">*ETableSimpleColumnCountFn</link>)    (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="void">void</link> *data);
<link linkend="int">int</link>         (<link linkend="ETableSimpleRowCountFn">*ETableSimpleRowCountFn</link>)       (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="void">void</link> *data);
<link linkend="void">void</link>*       (<link linkend="ETableSimpleValueAtFn">*ETableSimpleValueAtFn</link>)        (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="int">int</link> row,
                                             <link linkend="void">void</link> *data);
<link linkend="void">void</link>        (<link linkend="ETableSimpleSetValueAtFn">*ETableSimpleSetValueAtFn</link>)     (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="int">int</link> row,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);
<link linkend="gboolean">gboolean</link>    (<link linkend="ETableSimpleIsCellEditableFn">*ETableSimpleIsCellEditableFn</link>) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="int">int</link> row,
                                             <link linkend="void">void</link> *data);
<link linkend="void">void</link>        (<link linkend="ETableSimpleAppendRowFn">*ETableSimpleAppendRowFn</link>)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="ETableModel">ETableModel</link> *model,
                                             <link linkend="int">int</link> row,
                                             <link linkend="void">void</link> *data);
<link linkend="void">void</link>*       (<link linkend="ETableSimpleDuplicateValueFn">*ETableSimpleDuplicateValueFn</link>) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);
<link linkend="void">void</link>        (<link linkend="ETableSimpleFreeValueFn">*ETableSimpleFreeValueFn</link>)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);
<link linkend="void">void</link>*       (<link linkend="ETableSimpleInitializeValueFn">*ETableSimpleInitializeValueFn</link>)
                                            (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="void">void</link> *data);
<link linkend="gboolean">gboolean</link>    (<link linkend="ETableSimpleValueIsEmptyFn">*ETableSimpleValueIsEmptyFn</link>)   (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);
<link linkend="char">char</link>*       (<link linkend="ETableSimpleValueToStringFn">*ETableSimpleValueToStringFn</link>)  (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *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,
                                             <link linkend="void">void</link> *data);

</synopsis>
</refsynopsisdiv>

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

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

</refsect1>





<refsect1>
<title>Properties</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>
<indexterm><primary>ETableSimple</primary></indexterm><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>
<indexterm><primary>E_TABLE_SIMPLE_TYPE</primary></indexterm><programlisting>#define E_TABLE_SIMPLE_TYPE        (e_table_simple_get_type ())
</programlisting>
<para>

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

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleRowCountFn">ETableSimpleRowCountFn ()</title>
<indexterm><primary>ETableSimpleRowCountFn</primary></indexterm><programlisting><link linkend="int">int</link>         (*ETableSimpleRowCountFn)       (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleValueAtFn">ETableSimpleValueAtFn ()</title>
<indexterm><primary>ETableSimpleValueAtFn</primary></indexterm><programlisting><link linkend="void">void</link>*       (*ETableSimpleValueAtFn)        (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="int">int</link> row,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleSetValueAtFn">ETableSimpleSetValueAtFn ()</title>
<indexterm><primary>ETableSimpleSetValueAtFn</primary></indexterm><programlisting><link linkend="void">void</link>        (*ETableSimpleSetValueAtFn)     (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="int">int</link> row,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>val</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleIsCellEditableFn">ETableSimpleIsCellEditableFn ()</title>
<indexterm><primary>ETableSimpleIsCellEditableFn</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*ETableSimpleIsCellEditableFn) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="int">int</link> row,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleAppendRowFn">ETableSimpleAppendRowFn ()</title>
<indexterm><primary>ETableSimpleAppendRowFn</primary></indexterm><programlisting><link linkend="void">void</link>        (*ETableSimpleAppendRowFn)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="ETableModel">ETableModel</link> *model,
                                             <link linkend="int">int</link> row,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleDuplicateValueFn">ETableSimpleDuplicateValueFn ()</title>
<indexterm><primary>ETableSimpleDuplicateValueFn</primary></indexterm><programlisting><link linkend="void">void</link>*       (*ETableSimpleDuplicateValueFn) (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>val</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleFreeValueFn">ETableSimpleFreeValueFn ()</title>
<indexterm><primary>ETableSimpleFreeValueFn</primary></indexterm><programlisting><link linkend="void">void</link>        (*ETableSimpleFreeValueFn)      (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>val</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleInitializeValueFn">ETableSimpleInitializeValueFn ()</title>
<indexterm><primary>ETableSimpleInitializeValueFn</primary></indexterm><programlisting><link linkend="void">void</link>*       (*ETableSimpleInitializeValueFn)
                                            (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleValueIsEmptyFn">ETableSimpleValueIsEmptyFn ()</title>
<indexterm><primary>ETableSimpleValueIsEmptyFn</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*ETableSimpleValueIsEmptyFn)   (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>val</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableSimpleValueToStringFn">ETableSimpleValueToStringFn ()</title>
<indexterm><primary>ETableSimpleValueToStringFn</primary></indexterm><programlisting><link linkend="char">char</link>*       (*ETableSimpleValueToStringFn)  (<link linkend="ETableModel">ETableModel</link> *etm,
                                             <link linkend="int">int</link> col,
                                             const <link linkend="void">void</link> *val,
                                             <link linkend="void">void</link> *data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etm</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>val</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-simple-new">e_table_simple_new ()</title>
<indexterm><primary>e_table_simple_new</primary></indexterm><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,
                                             <link linkend="void">void</link> *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><variablelist role="params">
<varlistentry><term><parameter>col_count</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row_count</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_at</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>set_value_at</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>is_cell_editable</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>duplicate_value</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>free_value</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>initialize_value</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_is_empty</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_to_string</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> closure pointer.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> An ETableSimpleModel object (which is also an ETableModel
object).
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>
<refsect1>
<title>Properties</title>
<refsect2><title><anchor id="ETableSimple--append-row">The &quot;<literal>append-row</literal>&quot; property</title>
<programlisting>  &quot;append-row&quot;           <link linkend="gpointer">gpointer</link>              : Read / Write</programlisting>
<para></para></refsect2>

</refsect1>




</refentry>
