<refentry id="ETableGroup">
<refmeta>
<refentrytitle>ETableGroup</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GAL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>ETableGroup</refname><refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>

<synopsis>



#define     <link linkend="E-TABLE-GROUP-TYPE:CAPS">E_TABLE_GROUP_TYPE</link>
typedef     <link linkend="ETableGroup">ETableGroup</link>;
<link linkend="void">void</link>        <link linkend="e-table-group-add">e_table_group_add</link>               (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);
<link linkend="void">void</link>        <link linkend="e-table-group-add-all">e_table_group_add_all</link>           (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="gboolean">gboolean</link>    <link linkend="e-table-group-remove">e_table_group_remove</link>            (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);
<link linkend="gint">gint</link>        <link linkend="e-table-group-get-count">e_table_group_get_count</link>         (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="void">void</link>        <link linkend="e-table-group-increment">e_table_group_increment</link>         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> position,
                                             <link linkend="gint">gint</link> amount);
<link linkend="void">void</link>        <link linkend="e-table-group-decrement">e_table_group_decrement</link>         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> position,
                                             <link linkend="gint">gint</link> amount);
<link linkend="gint">gint</link>        <link linkend="e-table-group-row-count">e_table_group_row_count</link>         (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="void">void</link>        <link linkend="e-table-group-set-focus">e_table_group_set_focus</link>         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="EFocus">EFocus</link> direction,
                                             <link linkend="gint">gint</link> view_col);
<link linkend="void">void</link>        <link linkend="e-table-group-set-cursor-row">e_table_group_set_cursor_row</link>    (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);
<link linkend="int">int</link>         <link linkend="e-table-group-get-cursor-row">e_table_group_get_cursor_row</link>    (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="gboolean">gboolean</link>    <link linkend="e-table-group-get-focus">e_table_group_get_focus</link>         (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="gint">gint</link>        <link linkend="e-table-group-get-focus-column">e_table_group_get_focus_column</link>  (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="ETableHeader">ETableHeader</link>* <link linkend="e-table-group-get-header">e_table_group_get_header</link>      (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="ETableCol">ETableCol</link>*  <link linkend="e-table-group-get-ecol">e_table_group_get_ecol</link>          (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="EPrintable">EPrintable</link>* <link linkend="e-table-group-get-printable">e_table_group_get_printable</link>     (<link linkend="ETableGroup">ETableGroup</link> *etg);
<link linkend="void">void</link>        <link linkend="e-table-group-compute-location">e_table_group_compute_location</link>  (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="int">int</link> *x,
                                             <link linkend="int">int</link> *y,
                                             <link linkend="int">int</link> *row,
                                             <link linkend="int">int</link> *col);
<link linkend="ETableGroup">ETableGroup</link>* <link linkend="e-table-group-new">e_table_group_new</link>              (const <link linkend="char">char</link> *title,
                                             <link linkend="ETableModel">ETableModel</link> *table);
<link linkend="void">void</link>        <link linkend="e-table-group-construct">e_table_group_construct</link>         (<link linkend="GnomeCanvasGroup">GnomeCanvasGroup</link> *parent,
                                             <link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="ETableHeader">ETableHeader</link> *full_header,
                                             <link linkend="ETableHeader">ETableHeader</link> *header,
                                             <link linkend="ETableModel">ETableModel</link> *model);
<link linkend="void">void</link>        <link linkend="e-table-group-cursor-change">e_table_group_cursor_change</link>     (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);
<link linkend="void">void</link>        <link linkend="e-table-group-double-click">e_table_group_double_click</link>      (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);
<link linkend="gint">gint</link>        <link linkend="e-table-group-right-click">e_table_group_right_click</link>       (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);
<link linkend="gint">gint</link>        <link linkend="e-table-group-click">e_table_group_click</link>             (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);
<link linkend="gint">gint</link>        <link linkend="e-table-group-key-press">e_table_group_key_press</link>         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);
<link linkend="void">void</link>        (<link linkend="ETableGroupLeafFn">*ETableGroupLeafFn</link>)            (<link linkend="void">void</link> *e_table_item,
                                             <link linkend="void">void</link> *closure);
<link linkend="void">void</link>        <link linkend="e-table-group-apply-to-leafs">e_table_group_apply_to_leafs</link>    (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="ETableGroupLeafFn">ETableGroupLeafFn</link> fn,
                                             <link linkend="void">void</link> *closure);

</synopsis>
</refsynopsisdiv>

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

  <link linkend="GtkObject">GtkObject</link>
   +----<link linkend="GnomeCanvasItem">GnomeCanvasItem</link>
         +----<link linkend="GnomeCanvasGroup">GnomeCanvasGroup</link>
               +----ETableGroup
                     +----<link linkend="ETableGroupContainer">ETableGroupContainer</link>
                     +----<link linkend="ETableGroupLeaf">ETableGroupLeaf</link>
</synopsis>

</refsect1>






<refsect1>
<title>Signal Prototypes</title>
<synopsis>

&quot;<link linkend="ETableGroup-cursor-change">cursor-change</link>&quot;
            <link linkend="void">void</link>        user_function      (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="ETableGroup-double-click">double-click</link>&quot;
            <link linkend="void">void</link>        user_function      (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="ETableGroup-right-click">right-click</link>&quot;
            <link linkend="gint">gint</link>        user_function      (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="ETableGroup-click">click</link>&quot;     <link linkend="gint">gint</link>        user_function      (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="ETableGroup-key-press">key-press</link>&quot; <link linkend="gint">gint</link>        user_function      (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);
</synopsis>
</refsect1>


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

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="E-TABLE-GROUP-TYPE:CAPS">E_TABLE_GROUP_TYPE</title>
<indexterm><primary>E_TABLE_GROUP_TYPE</primary></indexterm><programlisting>#define E_TABLE_GROUP_TYPE        (e_table_group_get_type ())
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ETableGroup">ETableGroup</title>
<indexterm><primary>ETableGroup</primary></indexterm><programlisting>typedef struct {
	GnomeCanvasGroup group;

	/*
	 * The full header.
	 */
	ETableHeader *full_header;
	ETableHeader *header;
	
	/*
	 * The model we pull data from.
	 */
	ETableModel *model;

	/*
	 * Whether we should add indentation and open/close markers,
	 * or if we just act as containers of subtables.
	 */
	guint transparent : 1;

	guint has_focus : 1;
	
	guint frozen : 1;
} ETableGroup;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="e-table-group-add">e_table_group_add ()</title>
<indexterm><primary>e_table_group_add</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_add               (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);</programlisting>
<para>
This routine adds the given row from the <literal>ETableModel</literal> to this set
of rows.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to add a row to
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> The row to add.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-add-all">e_table_group_add_all ()</title>
<indexterm><primary>e_table_group_add_all</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_add_all           (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>
This routine adds all the rows from the <literal>ETableModel</literal> to this set
of rows.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to add to
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-remove">e_table_group_remove ()</title>
<indexterm><primary>e_table_group_remove</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    e_table_group_remove            (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);</programlisting>
<para>
This routine removes the given row from the <literal>ETableModel</literal> from this
set of rows.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to remove a row from
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> The row to remove.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if the row was deleted and FALSE if the row was not
found.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-get-count">e_table_group_get_count ()</title>
<indexterm><primary>e_table_group_get_count</primary></indexterm><programlisting><link linkend="gint">gint</link>        e_table_group_get_count         (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</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-group-increment">e_table_group_increment ()</title>
<indexterm><primary>e_table_group_increment</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_increment         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> position,
                                             <link linkend="gint">gint</link> amount);</programlisting>
<para>
This routine calculates the number of rows shown in this group.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to count
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>amount</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-decrement">e_table_group_decrement ()</title>
<indexterm><primary>e_table_group_decrement</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_decrement         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> position,
                                             <link linkend="gint">gint</link> amount);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>amount</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-row-count">e_table_group_row_count ()</title>
<indexterm><primary>e_table_group_row_count</primary></indexterm><programlisting><link linkend="gint">gint</link>        e_table_group_row_count         (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</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-group-set-focus">e_table_group_set_focus ()</title>
<indexterm><primary>e_table_group_set_focus</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_set_focus         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="EFocus">EFocus</link> direction,
                                             <link linkend="gint">gint</link> view_col);</programlisting>
<para>
Sets the focus to this widget.  Places the focus in the view column
coming from direction direction.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to set
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>direction</parameter>&nbsp;:</term>
<listitem><simpara> The direction the focus is coming from.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>view_col</parameter>&nbsp;:</term>
<listitem><simpara> The column to set the focus in.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-set-cursor-row">e_table_group_set_cursor_row ()</title>
<indexterm><primary>e_table_group_set_cursor_row</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_set_cursor_row    (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);</programlisting>
<para>

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


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-get-cursor-row">e_table_group_get_cursor_row ()</title>
<indexterm><primary>e_table_group_get_cursor_row</primary></indexterm><programlisting><link linkend="int">int</link>         e_table_group_get_cursor_row    (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</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-group-get-focus">e_table_group_get_focus ()</title>
<indexterm><primary>e_table_group_get_focus</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    e_table_group_get_focus         (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>
Calculates if this group has the focus.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to check
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if this group has the focus.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-get-focus-column">e_table_group_get_focus_column ()</title>
<indexterm><primary>e_table_group_get_focus_column</primary></indexterm><programlisting><link linkend="gint">gint</link>        e_table_group_get_focus_column  (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>
Calculates which column in this group has the focus.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to check
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The column index (view column).
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-get-header">e_table_group_get_header ()</title>
<indexterm><primary>e_table_group_get_header</primary></indexterm><programlisting><link linkend="ETableHeader">ETableHeader</link>* e_table_group_get_header      (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>
This routine returns the <literal>ETableGroup</literal>'s header.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The <literal>ETableHeader</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-get-ecol">e_table_group_get_ecol ()</title>
<indexterm><primary>e_table_group_get_ecol</primary></indexterm><programlisting><link linkend="ETableCol">ETableCol</link>*  e_table_group_get_ecol          (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</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-group-get-printable">e_table_group_get_printable ()</title>
<indexterm><primary>e_table_group_get_printable</primary></indexterm><programlisting><link linkend="EPrintable">EPrintable</link>* e_table_group_get_printable     (<link linkend="ETableGroup">ETableGroup</link> *etg);</programlisting>
<para>
This routine creates and returns an <literal>EPrintable</literal> that can be used to
print the given <literal>ETableGroup</literal>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> <literal>ETableGroup</literal> which will be printed
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The <literal>EPrintable</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-compute-location">e_table_group_compute_location ()</title>
<indexterm><primary>e_table_group_compute_location</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_compute_location  (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="int">int</link> *x,
                                             <link linkend="int">int</link> *y,
                                             <link linkend="int">int</link> *row,
                                             <link linkend="int">int</link> *col);</programlisting>
<para>
This routine locates the pixel location (*x, *y) in the
<literal>ETableGroup</literal>.  If that location is in the <literal>ETableGroup</literal>, *row and
*col are set to the view row and column where it was found.  If
that location is not in the <literal>ETableGroup</literal>, the height of the
<literal>ETableGroup</literal> is removed from the value y points to.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to the x location to find in the <literal>ETableGroup</literal>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to the y location to find in the <literal>ETableGroup</literal>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to the location to store the found row in.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara> A pointer to the location to store the found col in.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-new">e_table_group_new ()</title>
<indexterm><primary>e_table_group_new</primary></indexterm><programlisting><link linkend="ETableGroup">ETableGroup</link>* e_table_group_new              (const <link linkend="char">char</link> *title,
                                             <link linkend="ETableModel">ETableModel</link> *table);</programlisting>
<para>
<literal>ETableGroup</literal> is a collection of rows of an <literal>ETable</literal>.  It's a
<literal>GnomeCanvasItem</literal>.  There are two different forms.  If n &lt; the
number of groupings in the given <literal>ETableSortInfo</literal>, then the
<literal>ETableGroup</literal> will need to contain other <literal>ETableGroups</literal>, thus it
creates an <literal>ETableGroupContainer</literal>.  Otherwise, it will just contain
an <literal>ETableItem</literal>, and thus it creates an <literal>ETableGroupLeaf</literal>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>title</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>table</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The new <literal>ETableGroup</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-construct">e_table_group_construct ()</title>
<indexterm><primary>e_table_group_construct</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_construct         (<link linkend="GnomeCanvasGroup">GnomeCanvasGroup</link> *parent,
                                             <link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="ETableHeader">ETableHeader</link> *full_header,
                                             <link linkend="ETableHeader">ETableHeader</link> *header,
                                             <link linkend="ETableModel">ETableModel</link> *model);</programlisting>
<para>
This routine does the base construction of the <literal>ETableGroup</literal>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>parent</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>GnomeCanvasGroup</literal> to create a child of.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableGroup</literal> to construct.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>full_header</parameter>&nbsp;:</term>
<listitem><simpara> The full header of the <literal>ETable</literal>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>header</parameter>&nbsp;:</term>
<listitem><simpara> The current header of the <literal>ETable</literal>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
<listitem><simpara> The <literal>ETableModel</literal> of the <literal>ETable</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-cursor-change">e_table_group_cursor_change ()</title>
<indexterm><primary>e_table_group_cursor_change</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_cursor_change     (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row);</programlisting>
<para>
This routine emits the "cursor_change" signal.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> The new cursor row (model row)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-double-click">e_table_group_double_click ()</title>
<indexterm><primary>e_table_group_double_click</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_double_click      (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);</programlisting>
<para>
This routine emits the "double_click" signal.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> The row clicked on (model row)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara> The col clicked on (model col)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
<listitem><simpara> The event that caused this signal
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-right-click">e_table_group_right_click ()</title>
<indexterm><primary>e_table_group_right_click</primary></indexterm><programlisting><link linkend="gint">gint</link>        e_table_group_right_click       (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);</programlisting>
<para>
This routine emits the "right_click" signal.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> The row clicked on (model row)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara> The col clicked on (model col)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
<listitem><simpara> The event that caused this signal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-click">e_table_group_click ()</title>
<indexterm><primary>e_table_group_click</primary></indexterm><programlisting><link linkend="gint">gint</link>        e_table_group_click             (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);</programlisting>
<para>
This routine emits the "click" signal.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> The row clicked on (model row)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara> The col clicked on (model col)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
<listitem><simpara> The event that caused this signal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-key-press">e_table_group_key_press ()</title>
<indexterm><primary>e_table_group_key_press</primary></indexterm><programlisting><link linkend="gint">gint</link>        e_table_group_key_press         (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="gint">gint</link> row,
                                             <link linkend="gint">gint</link> col,
                                             <link linkend="GdkEvent">GdkEvent</link> *event);</programlisting>
<para>
This routine emits the "key_press" signal.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row</parameter>&nbsp;:</term>
<listitem><simpara> The cursor row (model row)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col</parameter>&nbsp;:</term>
<listitem><simpara> The cursor col (model col)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
<listitem><simpara> The event that caused this signal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ETableGroupLeafFn">ETableGroupLeafFn ()</title>
<indexterm><primary>ETableGroupLeafFn</primary></indexterm><programlisting><link linkend="void">void</link>        (*ETableGroupLeafFn)            (<link linkend="void">void</link> *e_table_item,
                                             <link linkend="void">void</link> *closure);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>e_table_item</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>closure</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="e-table-group-apply-to-leafs">e_table_group_apply_to_leafs ()</title>
<indexterm><primary>e_table_group_apply_to_leafs</primary></indexterm><programlisting><link linkend="void">void</link>        e_table_group_apply_to_leafs    (<link linkend="ETableGroup">ETableGroup</link> *etg,
                                             <link linkend="ETableGroupLeafFn">ETableGroupLeafFn</link> fn,
                                             <link linkend="void">void</link> *closure);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etg</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>fn</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>closure</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>

<refsect1>
<title>Signals</title>
<refsect2><title><anchor id="ETableGroup-cursor-change">The &quot;cursor-change&quot; signal</title>
<programlisting><link linkend="void">void</link>        user_function                  (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etablegroup</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>

</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="ETableGroup-double-click">The &quot;double-click&quot; signal</title>
<programlisting><link linkend="void">void</link>        user_function                  (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etablegroup</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg3</parameter>&nbsp;:</term>
<listitem><simpara>

</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="ETableGroup-right-click">The &quot;right-click&quot; signal</title>
<programlisting><link linkend="gint">gint</link>        user_function                  (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etablegroup</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg3</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>

</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="ETableGroup-click">The &quot;click&quot; signal</title>
<programlisting><link linkend="gint">gint</link>        user_function                  (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etablegroup</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg3</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>

</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2><title><anchor id="ETableGroup-key-press">The &quot;key-press&quot; signal</title>
<programlisting><link linkend="gint">gint</link>        user_function                  (<link linkend="ETableGroup">ETableGroup</link> *etablegroup,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>etablegroup</parameter>&nbsp;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg3</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>

</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>



</refentry>
