<refentry id="GnomeDbDataWidget">
<refmeta>
<refentrytitle>GnomeDbDataWidget</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBGNOMEDB-4.0 Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GnomeDbDataWidget</refname><refpurpose>Interface to control data bound widgets</refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>

<synopsis>



struct      <link linkend="GnomeDbDataWidget-struct">GnomeDbDataWidget</link>;
enum        <link linkend="GnomeDbDataWidgetWriteMode">GnomeDbDataWidgetWriteMode</link>;
<link linkend="GdaDataProxy">GdaDataProxy</link>* <link linkend="gnome-db-data-widget-get-proxy">gnome_db_data_widget_get_proxy</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);
<link linkend="GtkActionGroup">GtkActionGroup</link>* <link linkend="gnome-db-data-widget-get-actions-group">gnome_db_data_widget_get_actions_group</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);
<link linkend="void">void</link>        <link linkend="gnome-db-data-widget-perform-action">gnome_db_data_widget_perform_action</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="GnomeDbAction">GnomeDbAction</link> action);
<link linkend="void">void</link>        <link linkend="gnome-db-data-widget-column-show">gnome_db_data_widget_column_show</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column);
<link linkend="void">void</link>        <link linkend="gnome-db-data-widget-column-hide">gnome_db_data_widget_column_hide</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column);
<link linkend="void">void</link>        <link linkend="gnome-db-data-widget-column-set-editable">gnome_db_data_widget_column_set_editable</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column,
                                             <link linkend="gboolean">gboolean</link> editable);
<link linkend="void">void</link>        <link linkend="gnome-db-data-widget-column-show-actions">gnome_db_data_widget_column_show_actions</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column,
                                             <link linkend="gboolean">gboolean</link> show_actions);

<link linkend="GdaDataModelIter">GdaDataModelIter</link>* <link linkend="gnome-db-data-widget-get-current-data">gnome_db_data_widget_get_current_data</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);
<link linkend="GdaDataModel">GdaDataModel</link>* <link linkend="gnome-db-data-widget-get-gda-model">gnome_db_data_widget_get_gda_model</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);
<link linkend="void">void</link>        <link linkend="gnome-db-data-widget-set-gda-model">gnome_db_data_widget_set_gda_model</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="GdaDataModel">GdaDataModel</link> *model);
<link linkend="gboolean">gboolean</link>    <link linkend="gnome-db-data-widget-set-write-mode">gnome_db_data_widget_set_write_mode</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="GnomeDbDataWidgetWriteMode">GnomeDbDataWidgetWriteMode</link> mode);
<link linkend="GnomeDbDataWidgetWriteMode">GnomeDbDataWidgetWriteMode</link> <link linkend="gnome-db-data-widget-get-write-mode">gnome_db_data_widget_get_write_mode</link>
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);

</synopsis>
</refsynopsisdiv>

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

  <link linkend="GInterface">GInterface</link>
   +----GnomeDbDataWidget
</synopsis>

</refsect1>

<refsect1>
<title>Prerequisites</title>
<para>
GnomeDbDataWidget requires
 <link linkend="GObject">GObject</link>.</para>

</refsect1>



<refsect1>
<title>Known Implementations</title>
<para>
GnomeDbDataWidget is implemented by
 <link linkend="GnomeDbRawForm">GnomeDbRawForm</link> and  <link linkend="GnomeDbRawGrid">GnomeDbRawGrid</link>.</para>

</refsect1>


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

&quot;<link linkend="GnomeDbDataWidget-iter-changed">iter-changed</link>&quot;
            <link linkend="void">void</link>        user_function      (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *dbdatawidget,
                                            <link linkend="gpointer">gpointer</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GnomeDbDataWidget-proxy-changed">proxy-changed</link>&quot;
            <link linkend="void">void</link>        user_function      (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *dbdatawidget,
                                            <link linkend="GdaDataProxy">GdaDataProxy</link> *arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
</synopsis>
</refsect1>


<refsect1>
<title>Description</title>
<para>
The <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> is a common interface implemented by some data bound widgets which have the following in
common:
<itemizedlist>
  <listitem><para>The data to display in the widget is contained in a <link linkend="GdaDataModel"><type>GdaDataModel</type></link> object (a "source" of data)
    </para>
  </listitem>
  <listitem><para>If the "source" GdaDataModel allows it, modifications can be made (modifying existing rows,
    adding new rows, or removing some rows). Those modifications are internally stored in a <link linkend="GdaDataProxy"><type>GdaDataProxy</type></link> object.
    (note that a <link linkend="GdaDataProxy"><type>GdaDataProxy</type></link> object is always created, except if the "source" data model is itself a GdaDataProxy
    object)</para>
  </listitem>
  <listitem><para>The widget also internally uses a <link linkend="GdaDataModelIter"><type>GdaDataModelIter</type></link> object which represents the current "selected"
    row (the selected row, or the one displayed).</para>
  </listitem>
  <listitem><para>Writing back the modifications stored in the GdaDataProxy to the "source" data model is by default
      done only when requested, but can be specified otherwise (see <link linkend="gnome-db-data-widget-set-write-mode"><function>gnome_db_data_widget_set_write_mode()</function></link>)</para>
  </listitem>
</itemizedlist>
</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GnomeDbDataWidget-struct"/>struct GnomeDbDataWidget</title>
<indexterm><primary>GnomeDbDataWidget</primary></indexterm><programlisting>struct GnomeDbDataWidget;</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GnomeDbDataWidgetWriteMode"/>enum GnomeDbDataWidgetWriteMode</title>
<indexterm><primary>GnomeDbDataWidgetWriteMode</primary></indexterm><programlisting>typedef enum {
	GNOME_DB_DATA_WIDGET_WRITE_ON_DEMAND           = 0, /* write only when explicitely requested */
	GNOME_DB_DATA_WIDGET_WRITE_ON_ROW_CHANGE       = 1, /* write when the current selected row changes */
	GNOME_DB_DATA_WIDGET_WRITE_ON_VALUE_ACTIVATED  = 2, /* write when user activates a value change */
	GNOME_DB_DATA_WIDGET_WRITE_ON_VALUE_CHANGE     = 3  /* write when a parameters's value changes */
} GnomeDbDataWidgetWriteMode;
</programlisting>
<para>
Determines how modified data (stored in the <link linkend="GdaDataProxy"><type>GdaDataProxy</type></link> object used internally by each
<link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link>) is written back to the <link linkend="GdaDataModel"><type>GdaDataModel</type></link> which contains data to be displayed.
</para><variablelist role="enum">
<varlistentry>
<term><literal>GNOME_DB_DATA_WIDGET_WRITE_ON_DEMAND</literal></term>
<listitem><simpara>Modifications are written back on explicit demand (in this case all the modifications made to any row is written back)
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>GNOME_DB_DATA_WIDGET_WRITE_ON_ROW_CHANGE</literal></term>
<listitem><simpara>Modifications are written back when the currently selected row changes (as when selecting another row), in this case only the modifications on the current row are written back
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>GNOME_DB_DATA_WIDGET_WRITE_ON_VALUE_ACTIVATED</literal></term>
<listitem><simpara>Modifications are written back when the user "activates" the data entry (for example by pressing ENTER in a single line data entry), in this case only the modifications on the current row are written back
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>GNOME_DB_DATA_WIDGET_WRITE_ON_VALUE_CHANGE</literal></term>
<listitem><simpara>Modifications are written back everytime a value changes (for instance everytime a letter is types when entering text); in this case only the modifications on the current row are written back (this option should only be used if the "source" data model accepts modifications without any test and without processing delays).

</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-get-proxy"/>gnome_db_data_widget_get_proxy ()</title>
<indexterm><primary>gnome_db_data_widget_get_proxy</primary></indexterm><programlisting><link linkend="GdaDataProxy">GdaDataProxy</link>* gnome_db_data_widget_get_proxy
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);</programlisting>
<para>
Get a pointer to the <link linkend="GdaDataProxy"><type>GdaDataProxy</type></link> being used by <parameter>iface</parameter></para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="GdaDataProxy"><type>GdaDataProxy</type></link> pointer
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-get-actions-group"/>gnome_db_data_widget_get_actions_group ()</title>
<indexterm><primary>gnome_db_data_widget_get_actions_group</primary></indexterm><programlisting><link linkend="GtkActionGroup">GtkActionGroup</link>* gnome_db_data_widget_get_actions_group
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);</programlisting>
<para>
Each widget imlplementing the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface provides actions. Actions can be triggered
using the <link linkend="gnome-db-data-widget-perform-action"><function>gnome_db_data_widget_perform_action()</function></link> method, but using this method allows for the creation of
toolbars, menus, etc calling these actions.
</para>
<para>
The actions are among: 
<itemizedlist><listitem><para>Data edition actions: "ActionNew", "ActionCommit", 
   "ActionDelete, "ActionUndelete, "ActionReset", </para></listitem>
<listitem><para>Record by record moving: "ActionFirstRecord", "ActionPrevRecord", 
   "ActionNextRecord", "ActionLastRecord",</para></listitem>
<listitem><para>Chuncks of records moving: "ActionFirstChunck", "ActionPrevChunck", 
    "ActionNextChunck", "ActionLastChunck".</para></listitem>
<listitem><para>Filtering: "ActionFilter"</para></listitem></itemizedlist></para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GtkActionGroup"><type>GtkActionGroup</type></link> with all the possible actions on the widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-perform-action"/>gnome_db_data_widget_perform_action ()</title>
<indexterm><primary>gnome_db_data_widget_perform_action</primary></indexterm><programlisting><link linkend="void">void</link>        gnome_db_data_widget_perform_action
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="GnomeDbAction">GnomeDbAction</link> action);</programlisting>
<para>
Forces the widget to perform the selected <parameter>action</parameter>, as if the user
had pressed on the corresponding action button in the <parameter>iface</parameter> widget,
if the corresponding action is possible and if the <parameter>iface</parameter> widget
supports the action.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>action</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GnomeDbAction"><type>GnomeDbAction</type></link> action
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-column-show"/>gnome_db_data_widget_column_show ()</title>
<indexterm><primary>gnome_db_data_widget_column_show</primary></indexterm><programlisting><link linkend="void">void</link>        gnome_db_data_widget_column_show
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column);</programlisting>
<para>
Shows the data at <parameter>column</parameter> in the data model <parameter>iface</parameter> operates on</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&nbsp;:</term>
<listitem><simpara> column number to show
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-column-hide"/>gnome_db_data_widget_column_hide ()</title>
<indexterm><primary>gnome_db_data_widget_column_hide</primary></indexterm><programlisting><link linkend="void">void</link>        gnome_db_data_widget_column_hide
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column);</programlisting>
<para>
Hides the data at <parameter>column</parameter> in the data model <parameter>iface</parameter> operates on</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&nbsp;:</term>
<listitem><simpara> column number to hide
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-column-set-editable"/>gnome_db_data_widget_column_set_editable ()</title>
<indexterm><primary>gnome_db_data_widget_column_set_editable</primary></indexterm><programlisting><link linkend="void">void</link>        gnome_db_data_widget_column_set_editable
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column,
                                             <link linkend="gboolean">gboolean</link> editable);</programlisting>
<para>
Sets if the data entry in the <parameter>iface</parameter> widget at <parameter>column</parameter> (in the data model <parameter>iface</parameter> operates on) can be edited or not.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&nbsp;:</term>
<listitem><simpara> column number of the data
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>editable</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-column-show-actions"/>gnome_db_data_widget_column_show_actions ()</title>
<indexterm><primary>gnome_db_data_widget_column_show_actions</primary></indexterm><programlisting><link linkend="void">void</link>        gnome_db_data_widget_column_show_actions
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="gint">gint</link> column,
                                             <link linkend="gboolean">gboolean</link> show_actions);</programlisting>
<para>
Sets if the data entry in the <parameter>iface</parameter> widget at <parameter>column</parameter> (in the data model <parameter>iface</parameter> operates on) must show its
actions menu or not.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&nbsp;:</term>
<listitem><simpara> column number of the data, or -1 to apply the setting to all the columns
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>show_actions</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-get-current-data"/>gnome_db_data_widget_get_current_data ()</title>
<indexterm><primary>gnome_db_data_widget_get_current_data</primary></indexterm><programlisting><link linkend="GdaDataModelIter">GdaDataModelIter</link>* gnome_db_data_widget_get_current_data
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);</programlisting>
<para>
Get the <link linkend="GdaDataModelIter"><type>GdaDataModelIter</type></link> object which contains all the parameters which in turn contain the actual
data stored in <parameter>iface</parameter>. When the user changes what's displayed or what's selected (depending on the
actual widget) in <parameter>iface</parameter>, then the parameter's values change as well.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GdaSet"><type>GdaSet</type></link> object for data (not a new object)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-get-gda-model"/>gnome_db_data_widget_get_gda_model ()</title>
<indexterm><primary>gnome_db_data_widget_get_gda_model</primary></indexterm><programlisting><link linkend="GdaDataModel">GdaDataModel</link>* gnome_db_data_widget_get_gda_model
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);</programlisting>
<para>
Get the current <link linkend="GdaDataModel"><type>GdaDataModel</type></link> used by <parameter>iface</parameter></para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GdaDataModel"><type>GdaDataModel</type></link>, or <literal>NULL</literal> if there is none
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-set-gda-model"/>gnome_db_data_widget_set_gda_model ()</title>
<indexterm><primary>gnome_db_data_widget_set_gda_model</primary></indexterm><programlisting><link linkend="void">void</link>        gnome_db_data_widget_set_gda_model
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="GdaDataModel">GdaDataModel</link> *model);</programlisting>
<para>
Sets the data model which is used by <parameter>iface</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
<listitem><simpara> a valid <link linkend="GdaDataModel"><type>GdaDataModel</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-set-write-mode"/>gnome_db_data_widget_set_write_mode ()</title>
<indexterm><primary>gnome_db_data_widget_set_write_mode</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gnome_db_data_widget_set_write_mode
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface,
                                             <link linkend="GnomeDbDataWidgetWriteMode">GnomeDbDataWidgetWriteMode</link> mode);</programlisting>
<para>
Specifies the way the modifications stored in the <link linkend="GdaDataProxy"><type>GdaDataProxy</type></link> used internally by <parameter>iface</parameter> are written back to
the <link linkend="GdaDataModel"><type>GdaDataModel</type></link> which holds the data displayed in <parameter>iface</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mode</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if the proposed mode has been taken into account
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gnome-db-data-widget-get-write-mode"/>gnome_db_data_widget_get_write_mode ()</title>
<indexterm><primary>gnome_db_data_widget_get_write_mode</primary></indexterm><programlisting><link linkend="GnomeDbDataWidgetWriteMode">GnomeDbDataWidgetWriteMode</link> gnome_db_data_widget_get_write_mode
                                            (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *iface);</programlisting>
<para>
Get the way the modifications stored in the <link linkend="GdaDataProxy"><type>GdaDataProxy</type></link> used internally by <parameter>iface</parameter> are written back to
the <link linkend="GdaDataModel"><type>GdaDataModel</type></link> which holds the data displayed in <parameter>iface</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>iface</parameter>&nbsp;:</term>
<listitem><simpara> an object which implements the <link linkend="GnomeDbDataWidget"><type>GnomeDbDataWidget</type></link> interface
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the write mode used by <parameter>iface</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>

<refsect1>
<title>Signals</title>
<refsect2><title><anchor id="GnomeDbDataWidget-iter-changed"/>The &quot;iter-changed&quot; signal</title>
<programlisting><link linkend="void">void</link>        user_function                  (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *dbdatawidget,
                                            <link linkend="gpointer">gpointer</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dbdatawidget</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="GnomeDbDataWidget-proxy-changed"/>The &quot;proxy-changed&quot; signal</title>
<programlisting><link linkend="void">void</link>        user_function                  (<link linkend="GnomeDbDataWidget">GnomeDbDataWidget</link> *dbdatawidget,
                                            <link linkend="GdaDataProxy">GdaDataProxy</link> *arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dbdatawidget</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>
</refsect1>



</refentry>
