<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Atk" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="GModule" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gda" version="5.0"/>
  <include name="Gdk" version="3.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <include name="Pango" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="libxml2" version="2.0"/>
  <include name="xlib" version="2.0"/>
  <namespace name="Gdaui"
             version="5.0"
             shared-library="libgda-ui-5.0.so.0.0,libgda-5.0.so.0.0"
             c:identifier-prefixes="Gdaui"
             c:symbol-prefixes="gdaui">
    <constant name="ATTRIBUTE_PLUGIN"
              value="__gdaui_attr_plugin"
              c:type="GDAUI_ATTRIBUTE_PLUGIN">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <enumeration name="Action" c:type="GdauiAction">
      <member name="new_data" value="0" c:identifier="GDAUI_ACTION_NEW_DATA"/>
      <member name="write_modified_data"
              value="1"
              c:identifier="GDAUI_ACTION_WRITE_MODIFIED_DATA"/>
      <member name="delete_selected_data"
              value="2"
              c:identifier="GDAUI_ACTION_DELETE_SELECTED_DATA"/>
      <member name="undelete_selected_data"
              value="3"
              c:identifier="GDAUI_ACTION_UNDELETE_SELECTED_DATA"/>
      <member name="reset_data"
              value="4"
              c:identifier="GDAUI_ACTION_RESET_DATA"/>
      <member name="move_first_record"
              value="5"
              c:identifier="GDAUI_ACTION_MOVE_FIRST_RECORD"/>
      <member name="move_prev_record"
              value="6"
              c:identifier="GDAUI_ACTION_MOVE_PREV_RECORD"/>
      <member name="move_next_record"
              value="7"
              c:identifier="GDAUI_ACTION_MOVE_NEXT_RECORD"/>
      <member name="move_last_record"
              value="8"
              c:identifier="GDAUI_ACTION_MOVE_LAST_RECORD"/>
      <member name="move_first_chunck"
              value="9"
              c:identifier="GDAUI_ACTION_MOVE_FIRST_CHUNCK"/>
      <member name="move_prev_chunck"
              value="10"
              c:identifier="GDAUI_ACTION_MOVE_PREV_CHUNCK"/>
      <member name="move_next_chunck"
              value="11"
              c:identifier="GDAUI_ACTION_MOVE_NEXT_CHUNCK"/>
      <member name="move_last_chunck"
              value="12"
              c:identifier="GDAUI_ACTION_MOVE_LAST_CHUNCK"/>
    </enumeration>
    <bitfield name="ActionMode" c:type="GdauiActionMode">
      <member name="navigation_arrows"
              value="1"
              c:identifier="GDAUI_ACTION_NAVIGATION_ARROWS"/>
      <member name="navigation_scroll"
              value="2"
              c:identifier="GDAUI_ACTION_NAVIGATION_SCROLL"/>
      <member name="modif_auto_commit"
              value="4"
              c:identifier="GDAUI_ACTION_MODIF_AUTO_COMMIT"/>
      <member name="modif_commit_immediate"
              value="8"
              c:identifier="GDAUI_ACTION_MODIF_COMMIT_IMMEDIATE"/>
      <member name="ask_confirm_update"
              value="16"
              c:identifier="GDAUI_ACTION_ASK_CONFIRM_UPDATE"/>
      <member name="ask_confirm_delete"
              value="32"
              c:identifier="GDAUI_ACTION_ASK_CONFIRM_DELETE"/>
      <member name="ask_confirm_insert"
              value="64"
              c:identifier="GDAUI_ACTION_ASK_CONFIRM_INSERT"/>
      <member name="report_error"
              value="128"
              c:identifier="GDAUI_ACTION_REPORT_ERROR"/>
    </bitfield>
    <class name="BasicForm"
           c:symbol-prefix="basic_form"
           c:type="GdauiBasicForm"
           parent="Gtk.Box"
           glib:type-name="GdauiBasicForm"
           glib:get-type="gdaui_basic_form_get_type"
           glib:type-struct="BasicFormClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdaui_basic_form_new"
                   version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiBasicForm widget using all the #GdaHolder objects provided in @data_set.

The global layout is rendered using a table (a #GtkTable), and an entry is created for each
node of @data_set.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="data_set" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaSet structure</doc>
            <type name="Gda.Set" c:type="GdaSet*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_in_dialog"
                   c:identifier="gdaui_basic_form_new_in_dialog"
                   version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiBasicForm widget in the same way as gdaui_basic_form_new()
and puts it into a #GtkDialog widget. The returned dialog has the "Ok" and "Cancel" buttons
which respectively return GTK_RESPONSE_ACCEPT and GTK_RESPONSE_REJECT.

The #GdauiBasicForm widget is attached to the dialog using the user property
"form".</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new #GtkDialog widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="data_set" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaSet object</doc>
            <type name="Gda.Set" c:type="GdaSet*"/>
          </parameter>
          <parameter name="parent" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the parent window for the new dialog, or %NULL</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the title of the dialog window, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="header" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a helper text displayed at the top of the dialog, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="holder_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="holder" transfer-ownership="none">
            <type name="Gda.Holder" c:type="GdaHolder*"/>
          </parameter>
          <parameter name="is_user_action" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="layout_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="add_to_size_group"
              c:identifier="gdaui_basic_form_add_to_size_group"
              version="4.2">
        <doc xml:whitespace="preserve">Add @form's widgets specified by @part to @size_group
(the widgets can then be removed using gdaui_basic_form_remove_from_size_group()).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="size_group" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkSizeGroup object</doc>
            <type name="Gtk.SizeGroup" c:type="GtkSizeGroup*"/>
          </parameter>
          <parameter name="part" transfer-ownership="none">
            <doc xml:whitespace="preserve">specifies which widgets in @form are concerned</doc>
            <type name="BasicFormPart" c:type="GdauiBasicFormPart"/>
          </parameter>
        </parameters>
      </method>
      <method name="entry_grab_focus"
              c:identifier="gdaui_basic_form_entry_grab_focus"
              version="4.2">
        <doc xml:whitespace="preserve">Makes the data entry corresponding to @param grab the focus for the window it's in. If @param is %NULL,
then the focus is on the first entry which needs attention.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="holder" transfer-ownership="none">
            <type name="Gda.Holder" c:type="GdaHolder*"/>
          </parameter>
        </parameters>
      </method>
      <method name="entry_set_editable"
              c:identifier="gdaui_basic_form_entry_set_editable"
              version="4.2">
        <doc xml:whitespace="preserve">Sets the #GdauiDataEntry in @form which corresponds to the
@holder parameter editable or not. If @holder is %NULL, then all the parameters
are concerned.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="holder" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GdaHolder object; or %NULL</doc>
            <type name="Gda.Holder" c:type="GdaHolder*"/>
          </parameter>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if corresponding data entry must be editable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="entry_set_visible"
              c:identifier="gdaui_basic_form_entry_set_visible"
              version="4.2">
        <doc xml:whitespace="preserve">Shows or hides the #GdauiDataEntry in @form which corresponds to the
@param parameter</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="holder" transfer-ownership="none">
            <type name="Gda.Holder" c:type="GdaHolder*"/>
          </parameter>
          <parameter name="show" transfer-ownership="none">
            <doc xml:whitespace="preserve">set to %TRUE to show the data entry, and to %FALSE to hide it</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_data_set"
              c:identifier="gdaui_basic_form_get_data_set"
              version="4.2">
        <doc xml:whitespace="preserve">Get a pointer to the #GdaSet object which
is modified by @form</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a pointer to the #GdaSet</doc>
          <type name="Gda.Set" c:type="GdaSet*"/>
        </return-value>
      </method>
      <method name="get_entry_widget"
              c:identifier="gdaui_basic_form_get_entry_widget"
              version="4.2">
        <doc xml:whitespace="preserve">Get the #GdauiDataEntry in @form which corresponds to the param parameter.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the requested widget, or %NULL if not found</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="holder" transfer-ownership="none">
            <type name="Gda.Holder" c:type="GdaHolder*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_label_widget"
              c:identifier="gdaui_basic_form_get_label_widget"
              version="4.2">
        <doc xml:whitespace="preserve">Get the label in @form which corresponds to the param parameter.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the requested widget, or %NULL if not found</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="holder" transfer-ownership="none">
            <type name="Gda.Holder" c:type="GdaHolder*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_place_holder"
              c:identifier="gdaui_basic_form_get_place_holder"
              version="4.2">
        <doc xml:whitespace="preserve">Retreives a pointer to a place holder widget. This feature is only available if a specific
layout has been defined for @form using gdaui_basic_form_set_layout_from_file().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a pointer to the requested place holder, or %NULL if not found</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="placeholder_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the requested place holder</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_changed"
              c:identifier="gdaui_basic_form_has_changed"
              version="4.2">
        <doc xml:whitespace="preserve">Tells if the form has had at least on entry changed since @form was created or
gdaui_basic_form_set_as_reference() has been called.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if one entry has changed at least</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_valid"
              c:identifier="gdaui_basic_form_is_valid"
              version="4.2">
        <doc xml:whitespace="preserve">Tells if the form can be used as-is (if all the parameters do have some valid values)</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the form is valid</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="remove_from_size_group"
              c:identifier="gdaui_basic_form_remove_from_size_group"
              version="4.2">
        <doc xml:whitespace="preserve">Removes @form's widgets specified by @part from @size_group
(the widgets must have been added using gdaui_basic_form_add_to_size_group()).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="size_group" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkSizeGroup object</doc>
            <type name="Gtk.SizeGroup" c:type="GtkSizeGroup*"/>
          </parameter>
          <parameter name="part" transfer-ownership="none">
            <doc xml:whitespace="preserve">specifies which widgets in @form are concerned</doc>
            <type name="BasicFormPart" c:type="GdauiBasicFormPart"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset" c:identifier="gdaui_basic_form_reset" version="4.2">
        <doc xml:whitespace="preserve">Resets all the entries in the form to their
original values</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_as_reference"
              c:identifier="gdaui_basic_form_set_as_reference"
              version="4.2">
        <doc xml:whitespace="preserve">Tells @form that the current values in the different entries are
to be considered as the original values for all the entries; the immediate
consequence is that any sub-sequent call to gdaui_basic_form_has_changed()
will return %FALSE (of course until any entry is changed).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_entries_to_default"
              c:identifier="gdaui_basic_form_set_entries_to_default"
              version="4.2">
        <doc xml:whitespace="preserve">For each entry in the form, sets it to a default value if it is possible to do so.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_layout_from_file"
              c:identifier="gdaui_basic_form_set_layout_from_file"
              version="4.2">
        <doc xml:whitespace="preserve">Sets a form layout according an XML description contained in @file_name, for the form identified
by the @form_name name (as an XML layout file can contain the descriptions of several forms and grids).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">XML file name to use</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="form_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the form to use, in @file_name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unknown_color"
              c:identifier="gdaui_basic_form_set_unknown_color"
              version="5.0.3">
        <doc xml:whitespace="preserve">Defines the color to be used when @form displays an invalid value. Any value not
between 0. and 1. will result in the default hard coded values to be used (grayish).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="red" transfer-ownership="none">
            <doc xml:whitespace="preserve">the red component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <doc xml:whitespace="preserve">the green component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <doc xml:whitespace="preserve">the blue component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="alpha" transfer-ownership="none">
            <doc xml:whitespace="preserve">the alpha component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-expand-v" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="entries-auto-default"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="headers-sensitive"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="paramlist" writable="1" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="show-actions" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="xml-layout"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="BasicFormPriv" c:type="GdauiBasicFormPriv*"/>
      </field>
      <glib:signal name="activated" when="first">
        <doc xml:whitespace="preserve">Emitted when the use has activated any of the #GdaDataEntry widget
in @form.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="holder-changed" when="first">
        <doc xml:whitespace="preserve">Emitted when a GdaHolder changed in @form</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="param" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GdaHolder that changed</doc>
            <type name="Gda.Holder"/>
          </parameter>
          <parameter name="is_user_modif" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the modification has been initiated by a user modification</doc>
            <type name="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="layout-changed" when="first">
        <doc xml:whitespace="preserve">Emitted when the form's layout changes</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="populate-popup" when="first" version="4.2.4">
        <doc xml:whitespace="preserve">Connect this signal and modify the popup menu.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkMenu to modify</doc>
            <type name="Gtk.Menu"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="BasicFormClass"
            c:type="GdauiBasicFormClass"
            glib:is-gtype-struct-for="BasicForm">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="holder_changed">
        <callback name="holder_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="form" transfer-ownership="none">
              <type name="BasicForm" c:type="GdauiBasicForm*"/>
            </parameter>
            <parameter name="holder" transfer-ownership="none">
              <type name="Gda.Holder" c:type="GdaHolder*"/>
            </parameter>
            <parameter name="is_user_action" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activated">
        <callback name="activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="form" transfer-ownership="none">
              <type name="BasicForm" c:type="GdauiBasicForm*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="layout_changed">
        <callback name="layout_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="form" transfer-ownership="none">
              <type name="BasicForm" c:type="GdauiBasicForm*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="BasicFormPart" c:type="GdauiBasicFormPart">
      <member name="labels" value="0" c:identifier="GDAUI_BASIC_FORM_LABELS"/>
      <member name="entries"
              value="1"
              c:identifier="GDAUI_BASIC_FORM_ENTRIES"/>
    </enumeration>
    <record name="BasicFormPriv" c:type="GdauiBasicFormPriv" disguised="1">
    </record>
    <constant name="COLOR_NORMAL_DEFAULT"
              value="#6495ed"
              c:type="GDAUI_COLOR_NORMAL_DEFAULT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_NORMAL_INVALID"
              value="#ff6a6a"
              c:type="GDAUI_COLOR_NORMAL_INVALID">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_NORMAL_MODIF"
              value="#cacaee"
              c:type="GDAUI_COLOR_NORMAL_MODIF">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_NORMAL_NULL"
              value="#00cd66"
              c:type="GDAUI_COLOR_NORMAL_NULL">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_PRELIGHT_DEFAULT"
              value="#75a6fe"
              c:type="GDAUI_COLOR_PRELIGHT_DEFAULT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_PRELIGHT_INVALID"
              value="#ff7b7b"
              c:type="GDAUI_COLOR_PRELIGHT_INVALID">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_PRELIGHT_MODIF"
              value="#cfcffe"
              c:type="GDAUI_COLOR_PRELIGHT_MODIF">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_PRELIGHT_NULL"
              value="#00ef77"
              c:type="GDAUI_COLOR_PRELIGHT_NULL">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="COLOR_UNKNOWN_MASK"
              value="0.300000"
              c:type="GDAUI_COLOR_UNKNOWN_MASK">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <callback name="CellCreateFunc"
              c:type="GdauiCellCreateFunc"
              introspectable="0">
      <doc xml:whitespace="preserve">Defines a function which creates a #GtkCellRenderer object</doc>
      <return-value>
        <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
      </return-value>
      <parameters>
        <parameter transfer-ownership="none">
          <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Cloud"
           c:symbol-prefix="cloud"
           c:type="GdauiCloud"
           parent="Gtk.Box"
           glib:type-name="GdauiCloud"
           glib:get-type="gdaui_cloud_get_type"
           glib:type-struct="CloudClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataSelector"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdaui_cloud_new" version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiCloud widget suitable to display the data in @model</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
          <parameter name="label_column" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="weight_column" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="row" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_filter_widget"
              c:identifier="gdaui_cloud_create_filter_widget"
              version="4.2">
        <doc xml:whitespace="preserve">Creates a search widget linked directly to modify @cloud's appearance.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="filter" c:identifier="gdaui_cloud_filter" version="4.2">
        <doc xml:whitespace="preserve">Filters the elements displayed in @cloud, by altering their color.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filter" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the filter to use, or %NULL to remove any filter</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selection_mode"
              c:identifier="gdaui_cloud_set_selection_mode"
              version="4.2">
        <doc xml:whitespace="preserve">Sets @cloud's selection mode</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">the desired selection mode</doc>
            <type name="Gtk.SelectionMode" c:type="GtkSelectionMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_weight_func"
              c:identifier="gdaui_cloud_set_weight_func"
              version="4.2"
              introspectable="0">
        <doc xml:whitespace="preserve">Specifies a function called by @cloud to compute each row's respective weight.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     allow-none="1"
                     closure="1">
            <doc xml:whitespace="preserve">a #GdauiCloudWeightFunc function which computes weights, or %NULL to unset</doc>
            <type name="CloudWeightFunc" c:type="GdauiCloudWeightFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a pointer to pass as last argument of @func each time it is called, or %NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <property name="label-column" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="max-scale" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="min-scale" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="model" writable="1" transfer-ownership="none">
        <type name="Gda.DataModel"/>
      </property>
      <property name="weight-column" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="CloudPriv" c:type="GdauiCloudPriv*"/>
      </field>
      <glib:signal name="activate" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="CloudClass"
            c:type="GdauiCloudClass"
            glib:is-gtype-struct-for="Cloud">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cloud" transfer-ownership="none">
              <type name="Cloud" c:type="GdauiCloud*"/>
            </parameter>
            <parameter name="row" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="CloudPriv" c:type="GdauiCloudPriv" disguised="1">
    </record>
    <callback name="CloudWeightFunc" c:type="GdauiCloudWeightFunc">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </return-value>
      <parameters>
        <parameter name="model" transfer-ownership="none">
          <type name="Gda.DataModel" c:type="GdaDataModel*"/>
        </parameter>
        <parameter name="row" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Combo"
           c:symbol-prefix="combo"
           c:type="GdauiCombo"
           parent="Gtk.ComboBox"
           glib:type-name="GdauiCombo"
           glib:get-type="gdaui_combo_get_type"
           glib:type-struct="ComboClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataSelector"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="gdaui_combo_new" version="4.2">
        <doc xml:whitespace="preserve">Create a new GdauiCombo widget.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the newly-created widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_model"
                   c:identifier="gdaui_combo_new_with_model"
                   version="4.2">
        <doc xml:whitespace="preserve">Create a new GdauiCombo widget with a model. See gdaui_combo_set_model() for
more information about the @n_cols and @cols_index usage.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the newly-created widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
          <parameter name="n_cols" transfer-ownership="none">
            <doc xml:whitespace="preserve">number of columns in the model to be shown</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cols_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">an array of columns to be shown, its size must be @n_cols</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_null"
              c:identifier="gdaui_combo_add_null"
              version="4.2">
        <doc xml:whitespace="preserve">Tells if @combo should add a special entry representing an "undefined choice", as a %NULL entry. The default is
that only the available choices in @combo's model are presented.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="add_null" transfer-ownership="none">
            <doc xml:whitespace="preserve">set to %TRUE to add a NULL value to the combo box</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_null_selected"
              c:identifier="gdaui_combo_is_null_selected"
              version="4.2">
        <doc xml:whitespace="preserve">Tell if the currently selected entry represents the "undefined choice" entry.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the %NULL value is selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_model"
              c:identifier="gdaui_combo_set_model"
              version="4.2">
        <doc xml:whitespace="preserve">Makes @combo display data stored in @model (makes the
combo widget refresh its list of values and display the values contained
in the model). A NULL @model will make the combo empty
and disassociate the previous model, if any.

if @n_cols is %0, then all the columns of @model will be displayed in @combo.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel object.</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
          <parameter name="n_cols" transfer-ownership="none">
            <doc xml:whitespace="preserve">number of columns in the model to be shown</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cols_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">an array of columns to be shown, its size must be @n_cols</doc>
            <array length="1" zero-terminated="0" c:type="gint*">
              <type name="gint" c:type="gint"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <property name="as-list" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="model" writable="1" transfer-ownership="none">
        <type name="Gda.DataModel"/>
      </property>
      <field name="object">
        <type name="Gtk.ComboBox" c:type="GtkComboBox"/>
      </field>
      <field name="priv">
        <type name="ComboPrivate" c:type="GdauiComboPrivate*"/>
      </field>
    </class>
    <record name="ComboClass"
            c:type="GdauiComboClass"
            glib:is-gtype-struct-for="Combo">
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
    </record>
    <record name="ComboPrivate" c:type="GdauiComboPrivate" disguised="1">
    </record>
    <class name="DataCellRendererBin"
           c:symbol-prefix="data_cell_renderer_bin"
           c:type="GdauiDataCellRendererBin"
           parent="Gtk.CellRendererPixbuf"
           glib:type-name="GdauiDataCellRendererBin"
           glib:get-type="gdaui_data_cell_renderer_bin_get_type"
           glib:type-struct="DataCellRendererBinClass">
      <constructor name="new" c:identifier="gdaui_data_cell_renderer_bin_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiDataCellRendererBin. Adjust rendering
parameters using object properties. Object properties can be set
globally (with g_object_set()). Also, with #GtkTreeViewColumn, you
can bind a property to a value in a #GtkTreeModel. For example, you
can bind the "active" property on the cell renderer to a bin value
in the model, thus causing the check button to reflect the state of
the model.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new cell renderer</doc>
          <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataHandler object</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GType of the data to be displayed</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <property name="data-handler"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.DataHandler"/>
      </property>
      <property name="editable" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="to-be-deleted"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="type"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="GType"/>
      </property>
      <property name="value" writable="1" transfer-ownership="none">
        <type name="GObject.Value"/>
      </property>
      <property name="value-attributes"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <field name="parent">
        <type name="Gtk.CellRendererPixbuf" c:type="GtkCellRendererPixbuf"/>
      </field>
      <field name="priv">
        <type name="DataCellRendererBinPrivate"
              c:type="GdauiDataCellRendererBinPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DataCellRendererBinClass"
            c:type="GdauiDataCellRendererBinClass"
            glib:is-gtype-struct-for="DataCellRendererBin">
      <field name="parent_class">
        <type name="Gtk.CellRendererPixbufClass"
              c:type="GtkCellRendererPixbufClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cell_renderer" transfer-ownership="none">
              <type name="DataCellRendererBin"
                    c:type="GdauiDataCellRendererBin*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="new_value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DataCellRendererBinPrivate"
            c:type="GdauiDataCellRendererBinPrivate"
            disguised="1">
    </record>
    <class name="DataCellRendererBoolean"
           c:symbol-prefix="data_cell_renderer_boolean"
           c:type="GdauiDataCellRendererBoolean"
           parent="Gtk.CellRendererToggle"
           glib:type-name="GdauiDataCellRendererBoolean"
           glib:get-type="gdaui_data_cell_renderer_boolean_get_type"
           glib:type-struct="DataCellRendererBooleanClass">
      <constructor name="new"
                   c:identifier="gdaui_data_cell_renderer_boolean_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiDataCellRendererBoolean. Adjust rendering
parameters using object properties. Object properties can be set
globally (with g_object_set()). Also, with #GtkTreeViewColumn, you
can bind a property to a value in a #GtkTreeModel. For example, you
can bind the "active" property on the cell renderer to a boolean value
in the model, thus causing the check button to reflect the state of
the model.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new cell renderer</doc>
          <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataHandler object</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GType of the data to be displayed</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <property name="data-handler"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.DataHandler"/>
      </property>
      <property name="editable" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="to-be-deleted"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="type"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="GType"/>
      </property>
      <property name="value" writable="1" transfer-ownership="none">
        <type name="GObject.Value"/>
      </property>
      <property name="value-attributes"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <field name="parent">
        <type name="Gtk.CellRendererToggle" c:type="GtkCellRendererToggle"/>
      </field>
      <field name="priv">
        <type name="DataCellRendererBooleanPrivate"
              c:type="GdauiDataCellRendererBooleanPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DataCellRendererBooleanClass"
            c:type="GdauiDataCellRendererBooleanClass"
            glib:is-gtype-struct-for="DataCellRendererBoolean">
      <field name="parent_class">
        <type name="Gtk.CellRendererToggleClass"
              c:type="GtkCellRendererToggleClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cell_renderer" transfer-ownership="none">
              <type name="DataCellRendererBoolean"
                    c:type="GdauiDataCellRendererBoolean*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="new_value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DataCellRendererBooleanPrivate"
            c:type="GdauiDataCellRendererBooleanPrivate"
            disguised="1">
    </record>
    <class name="DataCellRendererCombo"
           c:symbol-prefix="data_cell_renderer_combo"
           c:type="GdauiDataCellRendererCombo"
           parent="Gtk.CellRendererText"
           glib:type-name="GdauiDataCellRendererCombo"
           glib:get-type="gdaui_data_cell_renderer_combo_get_type"
           glib:type-struct="DataCellRendererComboClass">
      <constructor name="new"
                   c:identifier="gdaui_data_cell_renderer_combo_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiDataCellRendererCombo which will fill the parameters listed in
@source-&gt;nodes with values available from @source-&gt;data_model.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new cell renderer</doc>
          <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
        </return-value>
        <parameters>
          <parameter name="paramlist" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaSet object</doc>
            <type name="Set" c:type="GdauiSet*"/>
          </parameter>
          <parameter name="source" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdauiSetSource structure listed in @paramlist-&gt;sources_list</doc>
            <type name="SetSource" c:type="GdauiSetSource*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_values" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="all_new_values" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <property name="data-set"
                introspectable="0"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="data-set-source"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="set-default-if-invalid"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="show-expander"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="to-be-deleted"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="value-attributes"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="values"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="values-display"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <field name="parent">
        <type name="Gtk.CellRendererText" c:type="GtkCellRendererText"/>
      </field>
      <field name="priv">
        <type name="DataCellRendererComboPrivate"
              c:type="GdauiDataCellRendererComboPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DataCellRendererComboClass"
            c:type="GdauiDataCellRendererComboClass"
            glib:is-gtype-struct-for="DataCellRendererCombo">
      <field name="parent_class">
        <type name="Gtk.CellRendererTextClass"
              c:type="GtkCellRendererTextClass"/>
      </field>
      <field name="changed" introspectable="0">
        <callback name="changed" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cell_renderer_combo" transfer-ownership="none">
              <type name="DataCellRendererCombo"
                    c:type="GdauiDataCellRendererCombo*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="new_values" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="all_new_values" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DataCellRendererComboPrivate"
            c:type="GdauiDataCellRendererComboPrivate"
            disguised="1">
    </record>
    <class name="DataCellRendererInfo"
           c:symbol-prefix="data_cell_renderer_info"
           c:type="GdauiDataCellRendererInfo"
           parent="Gtk.CellRenderer"
           glib:type-name="GdauiDataCellRendererInfo"
           glib:get-type="gdaui_data_cell_renderer_info_get_type"
           glib:type-struct="DataCellRendererInfoClass">
      <constructor name="new" c:identifier="gdaui_data_cell_renderer_info_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiDataCellRendererInfo. Adjust rendering
parameters using object properties. Object properties can be set
globally (with g_object_set()). Also, with #GtkTreeViewColumn, you
can bind a property to a value in a #GtkTreeModel. For example, you
can bind the "active" property on the cell renderer to a boolean value
in the model, thus causing the check button to reflect the state of
the model.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new cell renderer</doc>
          <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
        </return-value>
        <parameters>
          <parameter name="store" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdauiDataStore</doc>
            <type name="DataStore" c:type="GdauiDataStore*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModelIter</doc>
            <type name="Gda.DataModelIter" c:type="GdaDataModelIter*"/>
          </parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="SetGroup" c:type="GdauiSetGroup*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="status_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="requested_action" transfer-ownership="none">
            <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
          </parameter>
        </parameters>
      </virtual-method>
      <property name="editable" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="group"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="iter"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.DataModelIter"/>
      </property>
      <property name="store"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="DataStore"/>
      </property>
      <property name="to-be-deleted"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="value-attributes"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <field name="parent">
        <type name="Gtk.CellRenderer" c:type="GtkCellRenderer"/>
      </field>
      <field name="priv">
        <type name="DataCellRendererInfoPriv"
              c:type="GdauiDataCellRendererInfoPriv*"/>
      </field>
      <glib:signal name="status-changed" when="last" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DataCellRendererInfoClass"
            c:type="GdauiDataCellRendererInfoClass"
            glib:is-gtype-struct-for="DataCellRendererInfo">
      <field name="parent_class">
        <type name="Gtk.CellRendererClass" c:type="GtkCellRendererClass"/>
      </field>
      <field name="status_changed">
        <callback name="status_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cell_renderer_info" transfer-ownership="none">
              <type name="DataCellRendererInfo"
                    c:type="GdauiDataCellRendererInfo*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="requested_action" transfer-ownership="none">
              <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DataCellRendererInfoPriv"
            c:type="GdauiDataCellRendererInfoPriv"
            disguised="1">
    </record>
    <class name="DataCellRendererTextual"
           c:symbol-prefix="data_cell_renderer_textual"
           c:type="GdauiDataCellRendererTextual"
           parent="Gtk.CellRendererText"
           glib:type-name="GdauiDataCellRendererTextual"
           glib:get-type="gdaui_data_cell_renderer_textual_get_type"
           glib:type-struct="DataCellRendererTextualClass">
      <constructor name="new"
                   c:identifier="gdaui_data_cell_renderer_textual_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiDataCellRendererTextual. Adjust how text is drawn using
object properties. Object properties can be
set globally (with g_object_set()). Also, with #GtkTreeViewColumn,
you can bind a property to a value in a #GtkTreeModel. For example,
you can bind the "text" property on the cell renderer to a string
value in the model, thus rendering a different string in each row
of the #GtkTreeView</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new cell renderer</doc>
          <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GdaDataHandler object, or %NULL</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GType being edited</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <doc xml:whitespace="preserve">options as a string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <property name="data-handler"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.DataHandler"/>
      </property>
      <property name="options"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="to-be-deleted"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="type"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="GType"/>
      </property>
      <property name="value"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="value-attributes"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <field name="parent">
        <type name="Gtk.CellRendererText" c:type="GtkCellRendererText"/>
      </field>
      <field name="priv">
        <type name="DataCellRendererTextualPrivate"
              c:type="GdauiDataCellRendererTextualPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DataCellRendererTextualClass"
            c:type="GdauiDataCellRendererTextualClass"
            glib:is-gtype-struct-for="DataCellRendererTextual">
      <field name="parent_class">
        <type name="Gtk.CellRendererTextClass"
              c:type="GtkCellRendererTextClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cell_renderer_textual" transfer-ownership="none">
              <type name="DataCellRendererTextual"
                    c:type="GdauiDataCellRendererTextual*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="new_value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DataCellRendererTextualPrivate"
            c:type="GdauiDataCellRendererTextualPrivate"
            disguised="1">
    </record>
    <interface name="DataEntry"
               c:symbol-prefix="data_entry"
               c:type="GdauiDataEntry"
               glib:type-name="GdauiDataEntry"
               glib:get-type="gdaui_data_entry_get_type"
               glib:type-struct="DataEntryIface">
      <function name="error_quark" c:identifier="gdaui_data_entry_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="can_expand" invoker="can_expand" version="4.2">
        <doc xml:whitespace="preserve">Used for the layout of #GdaDataEntry widgets in containers: queries if @de requires
horizontal or vertical expansion, depending on @horiz</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the widget requires expansion</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="horiz" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to query horizontal expansion requirements, or %FALSE for vertical</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="contents_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="contents_modified">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="contents_valid" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="expand_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_attributes"
                      invoker="get_attributes"
                      version="4.2">
        <doc xml:whitespace="preserve">Retrieves the parameters of the GdauiDataEntry widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the OR'ed bits corresponding to the attributes.</doc>
          <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_editable" invoker="get_editable" version="4.2">
        <doc xml:whitespace="preserve">Tells if @de can be edited by the user</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @de is editable</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_handler" invoker="get_handler" version="4.2">
        <doc xml:whitespace="preserve">Fetch the GdaDataHandler the GdauiDataEntry is using</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the GdaDataHandler object</doc>
          <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_ref_value">
        <return-value transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_value" invoker="get_value" version="4.2">
        <doc xml:whitespace="preserve">Fetch the value held in the GdauiDataEntry widget. If the value is set to NULL,
the returned value is of type GDA_TYPE_NULL. If the value is set to default,
then the returned value is of type GDA_TYPE_NULL or is the default value if it
has been provided to the widget (and is of the same type as the one provided by @de).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GValue</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_value_type"
                      invoker="get_value_type"
                      version="4.2">
        <doc xml:whitespace="preserve">Fetch the type of data the GdauiDataEntry handles</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the GType type</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
      </virtual-method>
      <virtual-method name="grab_focus" invoker="grab_focus" version="4.2">
        <doc xml:whitespace="preserve">Makes @de grab the focus for the window it's in</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set_attributes"
                      invoker="set_attributes"
                      version="4.2">
        <doc xml:whitespace="preserve">Sets the parameters of the #GdauiDataEntry. Only the attributes corresponding to the
mask are set, the other ones are ignored.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="attrs" transfer-ownership="none">
            <doc xml:whitespace="preserve">the attributes to set (OR'ed between them)</doc>
            <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
          </parameter>
          <parameter name="mask" transfer-ownership="none">
            <doc xml:whitespace="preserve">the mask corresponding to the considered attributes</doc>
            <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_editable" invoker="set_editable" version="4.2">
        <doc xml:whitespace="preserve">Set if @de can be modified or not by the user</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:whitespace="preserve">set to %TRUE to have an editable data entry</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_ref_value">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_unknown_color"
                      invoker="set_unknown_color"
                      version="5.0.3">
        <doc xml:whitespace="preserve">Defines the color to be used when @de displays an invalid value. Any value not
between 0. and 1. will result in the default hard coded values to be used (grayish).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="red" transfer-ownership="none">
            <doc xml:whitespace="preserve">the red component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <doc xml:whitespace="preserve">the green component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <doc xml:whitespace="preserve">the blue component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="alpha" transfer-ownership="none">
            <doc xml:whitespace="preserve">the alpha component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_value" invoker="set_value" version="4.2">
        <doc xml:whitespace="preserve">Push a value into the #GdauiDataEntry. The value parameter must either be:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;of type GDA_TYPE_NULL (may be created using gda_value_new_null()) to 
represent a NULL value (SQL NULL), or&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;of type specified using gdaui_data_entry_set_value_type(), or&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;NULL to represent an undetermined value (usually an error)&lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_value_default">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_value_type"
                      invoker="set_value_type"
                      version="4.2">
        <doc xml:whitespace="preserve">Sets the type of value the GdauiDataEntry will handle. The type must be compatible with what
the widget can handle.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GType of the data to be displayed</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="status_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="can_expand"
              c:identifier="gdaui_data_entry_can_expand"
              version="4.2">
        <doc xml:whitespace="preserve">Used for the layout of #GdaDataEntry widgets in containers: queries if @de requires
horizontal or vertical expansion, depending on @horiz</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the widget requires expansion</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="horiz" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to query horizontal expansion requirements, or %FALSE for vertical</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="content_is_valid"
              c:identifier="gdaui_data_entry_content_is_valid"
              version="4.2"
              throws="1">
        <doc xml:whitespace="preserve">Tests the validity of @de's contents. The validity is a determined from:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;the @de widget itself if it is capable of doing it (depending on the implementation)&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;the results of the "contents-valid" signal which can be connected from &lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if @de's contents is valid</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_attributes"
              c:identifier="gdaui_data_entry_get_attributes"
              version="4.2">
        <doc xml:whitespace="preserve">Retrieves the parameters of the GdauiDataEntry widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the OR'ed bits corresponding to the attributes.</doc>
          <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
        </return-value>
      </method>
      <method name="get_editable"
              c:identifier="gdaui_data_entry_get_editable"
              version="4.2">
        <doc xml:whitespace="preserve">Tells if @de can be edited by the user</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @de is editable</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_handler"
              c:identifier="gdaui_data_entry_get_handler"
              version="4.2">
        <doc xml:whitespace="preserve">Fetch the GdaDataHandler the GdauiDataEntry is using</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the GdaDataHandler object</doc>
          <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
        </return-value>
      </method>
      <method name="get_reference_value"
              c:identifier="gdaui_data_entry_get_reference_value"
              version="4.2">
        <doc xml:whitespace="preserve">Fetch the reference value held in the #GdauiDataEntry widget</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GValue (not modifiable)</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
      </method>
      <method name="get_value"
              c:identifier="gdaui_data_entry_get_value"
              version="4.2">
        <doc xml:whitespace="preserve">Fetch the value held in the GdauiDataEntry widget. If the value is set to NULL,
the returned value is of type GDA_TYPE_NULL. If the value is set to default,
then the returned value is of type GDA_TYPE_NULL or is the default value if it
has been provided to the widget (and is of the same type as the one provided by @de).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GValue</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
      </method>
      <method name="get_value_type"
              c:identifier="gdaui_data_entry_get_value_type"
              version="4.2">
        <doc xml:whitespace="preserve">Fetch the type of data the GdauiDataEntry handles</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the GType type</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
      </method>
      <method name="grab_focus"
              c:identifier="gdaui_data_entry_grab_focus"
              version="4.2">
        <doc xml:whitespace="preserve">Makes @de grab the focus for the window it's in</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_attributes"
              c:identifier="gdaui_data_entry_set_attributes"
              version="4.2">
        <doc xml:whitespace="preserve">Sets the parameters of the #GdauiDataEntry. Only the attributes corresponding to the
mask are set, the other ones are ignored.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="attrs" transfer-ownership="none">
            <doc xml:whitespace="preserve">the attributes to set (OR'ed between them)</doc>
            <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
          </parameter>
          <parameter name="mask" transfer-ownership="none">
            <doc xml:whitespace="preserve">the mask corresponding to the considered attributes</doc>
            <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_value"
              c:identifier="gdaui_data_entry_set_default_value"
              version="4.2">
        <doc xml:whitespace="preserve">Sets the default value for the GdauiDataEntry which gets displayed when the
user forces the default value. If it is not set then it is set to type GDA_TYPE_NULL.
The value parameter must either be:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;NULL or of type GDA_TYPE_NULL, or&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;of type specified using gdaui_data_entry_set_value_type().&lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_editable"
              c:identifier="gdaui_data_entry_set_editable"
              version="4.2">
        <doc xml:whitespace="preserve">Set if @de can be modified or not by the user</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:whitespace="preserve">set to %TRUE to have an editable data entry</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reference_current"
              c:identifier="gdaui_data_entry_set_reference_current"
              version="4.2">
        <doc xml:whitespace="preserve">Tells that the current value in @de is to be considered as the reference value</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_reference_value"
              c:identifier="gdaui_data_entry_set_reference_value"
              version="4.2">
        <doc xml:whitespace="preserve">Push a value into the GdauiDataEntry in the same way as gdaui_data_entry_set_value() but
also sets this value as the reference value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unknown_color"
              c:identifier="gdaui_data_entry_set_unknown_color"
              version="5.0.3">
        <doc xml:whitespace="preserve">Defines the color to be used when @de displays an invalid value. Any value not
between 0. and 1. will result in the default hard coded values to be used (grayish).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="red" transfer-ownership="none">
            <doc xml:whitespace="preserve">the red component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <doc xml:whitespace="preserve">the green component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <doc xml:whitespace="preserve">the blue component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="alpha" transfer-ownership="none">
            <doc xml:whitespace="preserve">the alpha component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="gdaui_data_entry_set_value"
              version="4.2">
        <doc xml:whitespace="preserve">Push a value into the #GdauiDataEntry. The value parameter must either be:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;of type GDA_TYPE_NULL (may be created using gda_value_new_null()) to 
represent a NULL value (SQL NULL), or&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;of type specified using gdaui_data_entry_set_value_type(), or&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;NULL to represent an undetermined value (usually an error)&lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_type"
              c:identifier="gdaui_data_entry_set_value_type"
              version="4.2">
        <doc xml:whitespace="preserve">Sets the type of value the GdauiDataEntry will handle. The type must be compatible with what
the widget can handle.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GType of the data to be displayed</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="contents-activated" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="contents-modified" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="contents-valid" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="expand-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="status-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </interface>
    <enumeration name="DataEntryError"
                 c:type="GdauiDataEntryError"
                 glib:error-domain="gdaui_data_entry_error">
      <member name="file_not_found_error"
              value="0"
              c:identifier="GDAUI_DATA_ENTRY_FILE_NOT_FOUND_ERROR"/>
      <member name="invalid_data_error"
              value="1"
              c:identifier="GDAUI_DATA_ENTRY_INVALID_DATA_ERROR"/>
    </enumeration>
    <record name="DataEntryIface"
            c:type="GdauiDataEntryIface"
            glib:is-gtype-struct-for="DataEntry">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="contents_modified">
        <callback name="contents_modified">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="contents_activated">
        <callback name="contents_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="status_changed">
        <callback name="status_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="contents_valid">
        <callback name="contents_valid" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_value_type">
        <callback name="set_value_type">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <doc xml:whitespace="preserve">the #GType of the data to be displayed</doc>
              <type name="GType" c:type="GType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_value_type">
        <callback name="get_value_type">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the GType type</doc>
            <type name="GType" c:type="GType"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_value">
        <callback name="set_value">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">a #GValue, or %NULL</doc>
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_value">
        <callback name="get_value">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">a new #GValue</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_ref_value">
        <callback name="set_ref_value">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_ref_value">
        <callback name="get_ref_value">
          <return-value transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_value_default">
        <callback name="set_value_default">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_attributes">
        <callback name="set_attributes">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="attrs" transfer-ownership="none">
              <doc xml:whitespace="preserve">the attributes to set (OR'ed between them)</doc>
              <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
            </parameter>
            <parameter name="mask" transfer-ownership="none">
              <doc xml:whitespace="preserve">the mask corresponding to the considered attributes</doc>
              <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_attributes">
        <callback name="get_attributes">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the OR'ed bits corresponding to the attributes.</doc>
            <type name="Gda.ValueAttribute" c:type="GdaValueAttribute"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_handler">
        <callback name="get_handler">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the GdaDataHandler object</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_expand">
        <callback name="can_expand">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the widget requires expansion</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="horiz" transfer-ownership="none">
              <doc xml:whitespace="preserve">%TRUE to query horizontal expansion requirements, or %FALSE for vertical</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_editable">
        <callback name="set_editable">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="editable" transfer-ownership="none">
              <doc xml:whitespace="preserve">set to %TRUE to have an editable data entry</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_editable">
        <callback name="get_editable">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if @de is editable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="grab_focus">
        <callback name="grab_focus">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="expand_changed">
        <callback name="expand_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_unknown_color">
        <callback name="set_unknown_color">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="de" transfer-ownership="none">
              <type name="DataEntry" c:type="GdauiDataEntry*"/>
            </parameter>
            <parameter name="red" transfer-ownership="none">
              <doc xml:whitespace="preserve">the red component of a color</doc>
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
            <parameter name="green" transfer-ownership="none">
              <doc xml:whitespace="preserve">the green component of a color</doc>
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
            <parameter name="blue" transfer-ownership="none">
              <doc xml:whitespace="preserve">the blue component of a color</doc>
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
            <parameter name="alpha" transfer-ownership="none">
              <doc xml:whitespace="preserve">the alpha component of a color</doc>
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdaui_reserved2" introspectable="0">
        <callback name="_gdaui_reserved2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdaui_reserved3" introspectable="0">
        <callback name="_gdaui_reserved3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdaui_reserved4" introspectable="0">
        <callback name="_gdaui_reserved4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="DataFilter"
           c:symbol-prefix="data_filter"
           c:type="GdauiDataFilter"
           parent="Gtk.Box"
           glib:type-name="GdauiDataFilter"
           glib:get-type="gdaui_data_filter_get_type"
           glib:type-struct="DataFilterClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdaui_data_filter_new"
                   version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiDataFilter widget suitable to change the filter expression
for @data_widget's displayed rows</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="data_widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a widget implementing the #GdauiDataProxy interface</doc>
            <type name="DataProxy" c:type="GdauiDataProxy*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="data-widget" writable="1" transfer-ownership="none">
        <type name="DataProxy"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="DataFilterPriv" c:type="GdauiDataFilterPriv*"/>
      </field>
    </class>
    <record name="DataFilterClass"
            c:type="GdauiDataFilterClass"
            glib:is-gtype-struct-for="DataFilter">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="DataFilterPriv" c:type="GdauiDataFilterPriv" disguised="1">
    </record>
    <interface name="DataProxy"
               c:symbol-prefix="data_proxy"
               c:type="GdauiDataProxy"
               glib:type-name="GdauiDataProxy"
               glib:get-type="gdaui_data_proxy_get_type"
               glib:type-struct="DataProxyIface">
      <virtual-method name="get_actions_group"
                      invoker="get_actions_group"
                      version="4.2">
        <doc xml:whitespace="preserve">Each widget imlplementing the #GdauiDataProxy interface provides actions. Actions can be triggered
using the gdaui_data_proxy_perform_action() method, but using this method allows for the creation of
toolbars, menus, etc calling these actions.

The actions are among: 
&lt;itemizedlist&gt;&lt;listitem&gt;&lt;para&gt;Data edition actions: "ActionNew", "ActionCommit", 
"ActionDelete", "ActionReset". Note that the "ActionDelete" action is actually a #GtkToggleAction
action which can be used to delete a row or undelete it.&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Record by record moving: "ActionFirstRecord", "ActionPrevRecord", 
"ActionNextRecord", "ActionLastRecord".&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Chuncks of records moving: "ActionFirstChunck", "ActionPrevChunck", 
"ActionNextChunck", "ActionLastChunck".&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Filtering: "ActionFilter".&lt;/para&gt;&lt;/listitem&gt;&lt;/itemizedlist&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GtkActionGroup with all the possible actions on the widget.</doc>
          <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_proxy" invoker="get_proxy" version="4.2">
        <doc xml:whitespace="preserve">Get a pointer to the #GdaDataProxy being used by @iface</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GdaDataProxy pointer</doc>
          <type name="Gda.DataProxy" c:type="GdaDataProxy*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_write_mode"
                      invoker="get_write_mode"
                      version="4.2">
        <doc xml:whitespace="preserve">Get the way the modifications stored in the #GdaDataProxy used internally by @iface are written back to
the #GdaDataModel which holds the data displayed in @iface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the write mode used by @iface</doc>
          <type name="DataProxyWriteMode" c:type="GdauiDataProxyWriteMode"/>
        </return-value>
      </virtual-method>
      <virtual-method name="proxy_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="proxy" transfer-ownership="none">
            <type name="Gda.DataProxy" c:type="GdaDataProxy*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_column_editable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="column" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="editable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_write_mode"
                      invoker="set_write_mode"
                      version="4.2">
        <doc xml:whitespace="preserve">Specifies the way the modifications stored in the #GdaDataProxy used internally by @iface are written back to
the #GdaDataModel which holds the data displayed in @iface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the proposed mode has been taken into account</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested #GdauiDataProxyWriteMode mode</doc>
            <type name="DataProxyWriteMode" c:type="GdauiDataProxyWriteMode"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show_column_actions">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="column" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="show_actions" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="column_set_editable"
              c:identifier="gdaui_data_proxy_column_set_editable"
              version="4.2">
        <doc xml:whitespace="preserve">Sets if the data entry in the @iface widget at @column (in the data model @iface operates on)
can be edited or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">column number of the data</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:whitespace="preserve">set to %TRUE to make the column editable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="column_show_actions"
              c:identifier="gdaui_data_proxy_column_show_actions"
              version="4.2">
        <doc xml:whitespace="preserve">Sets if the data entry in the @iface widget at @column (in the data model @iface operates on) must show its
actions menu or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">column number of the data, or -1 to apply the setting to all the columns</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="show_actions" transfer-ownership="none">
            <doc xml:whitespace="preserve">set to %TRUE if the actions menu must be shown</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actions_group"
              c:identifier="gdaui_data_proxy_get_actions_group"
              version="4.2">
        <doc xml:whitespace="preserve">Each widget imlplementing the #GdauiDataProxy interface provides actions. Actions can be triggered
using the gdaui_data_proxy_perform_action() method, but using this method allows for the creation of
toolbars, menus, etc calling these actions.

The actions are among: 
&lt;itemizedlist&gt;&lt;listitem&gt;&lt;para&gt;Data edition actions: "ActionNew", "ActionCommit", 
"ActionDelete", "ActionReset". Note that the "ActionDelete" action is actually a #GtkToggleAction
action which can be used to delete a row or undelete it.&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Record by record moving: "ActionFirstRecord", "ActionPrevRecord", 
"ActionNextRecord", "ActionLastRecord".&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Chuncks of records moving: "ActionFirstChunck", "ActionPrevChunck", 
"ActionNextChunck", "ActionLastChunck".&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;Filtering: "ActionFilter".&lt;/para&gt;&lt;/listitem&gt;&lt;/itemizedlist&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GtkActionGroup with all the possible actions on the widget.</doc>
          <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
        </return-value>
      </method>
      <method name="get_proxy"
              c:identifier="gdaui_data_proxy_get_proxy"
              version="4.2">
        <doc xml:whitespace="preserve">Get a pointer to the #GdaDataProxy being used by @iface</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GdaDataProxy pointer</doc>
          <type name="Gda.DataProxy" c:type="GdaDataProxy*"/>
        </return-value>
      </method>
      <method name="get_write_mode"
              c:identifier="gdaui_data_proxy_get_write_mode"
              version="4.2">
        <doc xml:whitespace="preserve">Get the way the modifications stored in the #GdaDataProxy used internally by @iface are written back to
the #GdaDataModel which holds the data displayed in @iface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the write mode used by @iface</doc>
          <type name="DataProxyWriteMode" c:type="GdauiDataProxyWriteMode"/>
        </return-value>
      </method>
      <method name="perform_action"
              c:identifier="gdaui_data_proxy_perform_action"
              version="4.2">
        <doc xml:whitespace="preserve">Forces the widget to perform the selected @action, as if the user
had pressed on the corresponding action button in the @iface widget,
if the corresponding action is possible and if the @iface widget
supports the action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdauiAction action</doc>
            <type name="Action" c:type="GdauiAction"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_write_mode"
              c:identifier="gdaui_data_proxy_set_write_mode"
              version="4.2">
        <doc xml:whitespace="preserve">Specifies the way the modifications stored in the #GdaDataProxy used internally by @iface are written back to
the #GdaDataModel which holds the data displayed in @iface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the proposed mode has been taken into account</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested #GdauiDataProxyWriteMode mode</doc>
            <type name="DataProxyWriteMode" c:type="GdauiDataProxyWriteMode"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="proxy-changed" when="first">
        <doc xml:whitespace="preserve">The ::proxy-changed signal is emitted each time the #GdaDataProxy which would be
returned by gdaui_data_proxy_get_proxy() changes. This is generally the result
of changes in the structure of the proxied data model (different number and/or type
of columns for example).</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="arg1" transfer-ownership="none">
            <doc xml:whitespace="preserve">the GdaDataProxy which would be returned by gdaui_data_proxy_get_proxy()</doc>
            <type name="Gda.DataProxy"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="DataProxyIface"
            c:type="GdauiDataProxyIface"
            glib:is-gtype-struct-for="DataProxy">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_proxy">
        <callback name="get_proxy">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataProxy pointer</doc>
            <type name="Gda.DataProxy" c:type="GdaDataProxy*"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataProxy" c:type="GdauiDataProxy*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_column_editable">
        <callback name="set_column_editable">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataProxy" c:type="GdauiDataProxy*"/>
            </parameter>
            <parameter name="column" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="editable" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show_column_actions">
        <callback name="show_column_actions">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataProxy" c:type="GdauiDataProxy*"/>
            </parameter>
            <parameter name="column" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="show_actions" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_actions_group">
        <callback name="get_actions_group">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GtkActionGroup with all the possible actions on the widget.</doc>
            <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataProxy" c:type="GdauiDataProxy*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_write_mode">
        <callback name="set_write_mode">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the proposed mode has been taken into account</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataProxy" c:type="GdauiDataProxy*"/>
            </parameter>
            <parameter name="mode" transfer-ownership="none">
              <doc xml:whitespace="preserve">the requested #GdauiDataProxyWriteMode mode</doc>
              <type name="DataProxyWriteMode"
                    c:type="GdauiDataProxyWriteMode"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_write_mode">
        <callback name="get_write_mode">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the write mode used by @iface</doc>
            <type name="DataProxyWriteMode" c:type="GdauiDataProxyWriteMode"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataProxy" c:type="GdauiDataProxy*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="proxy_changed">
        <callback name="proxy_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataProxy" c:type="GdauiDataProxy*"/>
            </parameter>
            <parameter name="proxy" transfer-ownership="none">
              <type name="Gda.DataProxy" c:type="GdaDataProxy*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="DataProxyInfo"
           c:symbol-prefix="data_proxy_info"
           c:type="GdauiDataProxyInfo"
           parent="Gtk.Box"
           glib:type-name="GdauiDataProxyInfo"
           glib:get-type="gdaui_data_proxy_info_get_type"
           glib:type-struct="DataProxyInfoClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdaui_data_proxy_info_new"
                   version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiDataProxyInfo widget suitable to display information about @data_proxy</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="data_proxy" transfer-ownership="none">
            <doc xml:whitespace="preserve">a widget implementing the #GdauiDataProxy interface</doc>
            <type name="DataProxy" c:type="GdauiDataProxy*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">OR'ed values, specifying what to display in the new widget</doc>
            <type name="DataProxyInfoFlag" c:type="GdauiDataProxyInfoFlag"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="data-proxy" writable="1" transfer-ownership="none">
        <type name="DataProxy"/>
      </property>
      <property name="flags"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="ui-manager" version="4.2.9" transfer-ownership="none">
        <doc xml:whitespace="preserve">Use this property to obtain the #GtkUIManager object internally used (to add new actions
for example).</doc>
        <type name="Gtk.UIManager"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="DataProxyInfoPriv" c:type="GdauiDataProxyInfoPriv*"/>
      </field>
    </class>
    <record name="DataProxyInfoClass"
            c:type="GdauiDataProxyInfoClass"
            glib:is-gtype-struct-for="DataProxyInfo">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <bitfield name="DataProxyInfoFlag" c:type="GdauiDataProxyInfoFlag">
      <member name="none" value="0" c:identifier="GDAUI_DATA_PROXY_INFO_NONE"/>
      <member name="current_row"
              value="1"
              c:identifier="GDAUI_DATA_PROXY_INFO_CURRENT_ROW"/>
      <member name="row_modify_buttons"
              value="4"
              c:identifier="GDAUI_DATA_PROXY_INFO_ROW_MODIFY_BUTTONS"/>
      <member name="row_move_buttons"
              value="8"
              c:identifier="GDAUI_DATA_PROXY_INFO_ROW_MOVE_BUTTONS"/>
      <member name="chunck_change_buttons"
              value="16"
              c:identifier="GDAUI_DATA_PROXY_INFO_CHUNCK_CHANGE_BUTTONS"/>
      <member name="no_filter"
              value="32"
              c:identifier="GDAUI_DATA_PROXY_INFO_NO_FILTER"/>
    </bitfield>
    <record name="DataProxyInfoPriv"
            c:type="GdauiDataProxyInfoPriv"
            disguised="1">
    </record>
    <enumeration name="DataProxyWriteMode" c:type="GdauiDataProxyWriteMode">
      <doc xml:whitespace="preserve">Defines when the data modifications held in the underlying #GdaDataProxy are written to the
data model being proxied (using gda_data_proxy_apply_row_changes()).</doc>
      <member name="demand"
              value="0"
              c:identifier="GDAUI_DATA_PROXY_WRITE_ON_DEMAND"/>
      <member name="row_change"
              value="1"
              c:identifier="GDAUI_DATA_PROXY_WRITE_ON_ROW_CHANGE"/>
      <member name="value_activated"
              value="2"
              c:identifier="GDAUI_DATA_PROXY_WRITE_ON_VALUE_ACTIVATED"/>
      <member name="value_change"
              value="3"
              c:identifier="GDAUI_DATA_PROXY_WRITE_ON_VALUE_CHANGE"/>
    </enumeration>
    <interface name="DataSelector"
               c:symbol-prefix="data_selector"
               c:type="GdauiDataSelector"
               glib:type-name="GdauiDataSelector"
               glib:get-type="gdaui_data_selector_get_type"
               glib:type-struct="DataSelectorIface">
      <virtual-method name="get_data_set" invoker="get_data_set" version="4.2">
        <doc xml:whitespace="preserve">Get the #GdaDataModelIter object represented the current selected row in @iface. This
function may return either %NULL or an invalid iterator (see gda_data_model_iter_is_valid()) if
the selection cannot be represented by a single selected row.

Note that the returned #GdaDataModelIter is actually an iterator iterating on the #GdaDataModel
returned by the gdaui_data_selector_get_model() method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a pointer to a #GdaDataModelIter object, or %NULL</doc>
          <type name="Gda.DataModelIter" c:type="GdaDataModelIter*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_model" invoker="get_model" version="4.2">
        <doc xml:whitespace="preserve">Queries the #GdaDataModel from which the data displayed by the widget implementing @iface
are. Beware that the returned data model may be different than the one used when the
widget was created in case it uses a #GdaDataProxy.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GdaDataModel</doc>
          <type name="Gda.DataModel" c:type="GdaDataModel*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_selected_rows"
                      invoker="get_selected_rows"
                      version="4.2">
        <doc xml:whitespace="preserve">Gat an array of selected rows. If no row is selected, the the returned value is %NULL.

Please note that rows refers to the "visible" rows
at the time it's being called, which may change if the widget implementing this interface
uses a #GdaDataProxy (as is the case for example for the #GdauiRawForm, #GdauiForm, #GdauiRawGrid
and #GdauiGrid).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an array of #gint values, one for each selected row. Use g_array_free() when finished (passing %TRUE as the last argument)</doc>
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </return-value>
      </virtual-method>
      <virtual-method name="select_row" invoker="select_row" version="4.2">
        <doc xml:whitespace="preserve">Force the selection of a specific row.

Please note that @row refers to the "visible" row
at the time it's being called, which may change if the widget implementing this interface
uses a #GdaDataProxy (as is the case for example for the #GdauiRawForm, #GdauiForm, #GdauiRawGrid
and #GdauiGrid).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the row has been selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row to select</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="selection_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set_column_visible"
                      invoker="set_column_visible"
                      version="4.2">
        <doc xml:whitespace="preserve">Shows or hides the data at column @column</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">a column number, starting at %0, or -1 tp apply to all the columns</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="visible" transfer-ownership="none">
            <doc xml:whitespace="preserve">required visibility of the data in the @column column</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_model" invoker="set_model" version="4.2">
        <doc xml:whitespace="preserve">Sets the data model from which the data being displayed are. Also see gdaui_data_selector_get_model()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel to use</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unselect_row" invoker="unselect_row" version="4.2">
        <doc xml:whitespace="preserve">Please note that @row refers to the "visible" row
at the time it's being called, which may change if the widget implementing this interface
uses a #GdaDataProxy (as is the case for example for the #GdauiRawForm, #GdauiForm, #GdauiRawGrid
and #GdauiGrid).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row to unselect</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_data_set"
              c:identifier="gdaui_data_selector_get_data_set"
              version="4.2">
        <doc xml:whitespace="preserve">Get the #GdaDataModelIter object represented the current selected row in @iface. This
function may return either %NULL or an invalid iterator (see gda_data_model_iter_is_valid()) if
the selection cannot be represented by a single selected row.

Note that the returned #GdaDataModelIter is actually an iterator iterating on the #GdaDataModel
returned by the gdaui_data_selector_get_model() method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a pointer to a #GdaDataModelIter object, or %NULL</doc>
          <type name="Gda.DataModelIter" c:type="GdaDataModelIter*"/>
        </return-value>
      </method>
      <method name="get_model"
              c:identifier="gdaui_data_selector_get_model"
              version="4.2">
        <doc xml:whitespace="preserve">Queries the #GdaDataModel from which the data displayed by the widget implementing @iface
are. Beware that the returned data model may be different than the one used when the
widget was created in case it uses a #GdaDataProxy.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GdaDataModel</doc>
          <type name="Gda.DataModel" c:type="GdaDataModel*"/>
        </return-value>
      </method>
      <method name="get_selected_rows"
              c:identifier="gdaui_data_selector_get_selected_rows"
              version="4.2">
        <doc xml:whitespace="preserve">Gat an array of selected rows. If no row is selected, the the returned value is %NULL.

Please note that rows refers to the "visible" rows
at the time it's being called, which may change if the widget implementing this interface
uses a #GdaDataProxy (as is the case for example for the #GdauiRawForm, #GdauiForm, #GdauiRawGrid
and #GdauiGrid).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an array of #gint values, one for each selected row. Use g_array_free() when finished (passing %TRUE as the last argument)</doc>
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </return-value>
      </method>
      <method name="select_row"
              c:identifier="gdaui_data_selector_select_row"
              version="4.2">
        <doc xml:whitespace="preserve">Force the selection of a specific row.

Please note that @row refers to the "visible" row
at the time it's being called, which may change if the widget implementing this interface
uses a #GdaDataProxy (as is the case for example for the #GdauiRawForm, #GdauiForm, #GdauiRawGrid
and #GdauiGrid).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the row has been selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row to select</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_column_visible"
              c:identifier="gdaui_data_selector_set_column_visible"
              version="4.2">
        <doc xml:whitespace="preserve">Shows or hides the data at column @column</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="column" transfer-ownership="none">
            <doc xml:whitespace="preserve">a column number, starting at %0, or -1 tp apply to all the columns</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="visible" transfer-ownership="none">
            <doc xml:whitespace="preserve">required visibility of the data in the @column column</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model"
              c:identifier="gdaui_data_selector_set_model"
              version="4.2">
        <doc xml:whitespace="preserve">Sets the data model from which the data being displayed are. Also see gdaui_data_selector_get_model()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel to use</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unselect_row"
              c:identifier="gdaui_data_selector_unselect_row"
              version="4.2">
        <doc xml:whitespace="preserve">Please note that @row refers to the "visible" row
at the time it's being called, which may change if the widget implementing this interface
uses a #GdaDataProxy (as is the case for example for the #GdauiRawForm, #GdauiForm, #GdauiRawGrid
and #GdauiGrid).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row to unselect</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="selection-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </interface>
    <record name="DataSelectorIface"
            c:type="GdauiDataSelectorIface"
            glib:is-gtype-struct-for="DataSelector">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_model">
        <callback name="get_model">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GdaDataModel</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_model">
        <callback name="set_model">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
            <parameter name="model" transfer-ownership="none">
              <doc xml:whitespace="preserve">a #GdaDataModel to use</doc>
              <type name="Gda.DataModel" c:type="GdaDataModel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_selected_rows">
        <callback name="get_selected_rows">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">an array of #gint values, one for each selected row. Use g_array_free() when finished (passing %TRUE as the last argument)</doc>
            <array name="GLib.Array" c:type="GArray*">
              <type name="gpointer" c:type="gpointer"/>
            </array>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_data_set">
        <callback name="get_data_set">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">a pointer to a #GdaDataModelIter object, or %NULL</doc>
            <type name="Gda.DataModelIter" c:type="GdaDataModelIter*"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="select_row">
        <callback name="select_row">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the row has been selected</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
            <parameter name="row" transfer-ownership="none">
              <doc xml:whitespace="preserve">the row to select</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unselect_row">
        <callback name="unselect_row">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
            <parameter name="row" transfer-ownership="none">
              <doc xml:whitespace="preserve">the row to unselect</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_column_visible">
        <callback name="set_column_visible">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
            <parameter name="column" transfer-ownership="none">
              <doc xml:whitespace="preserve">a column number, starting at %0, or -1 tp apply to all the columns</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="visible" transfer-ownership="none">
              <doc xml:whitespace="preserve">required visibility of the data in the @column column</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="selection_changed">
        <callback name="selection_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <type name="DataSelector" c:type="GdauiDataSelector*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="DataStore"
           c:symbol-prefix="data_store"
           c:type="GdauiDataStore"
           parent="GObject.Object"
           glib:type-name="GdauiDataStore"
           glib:get-type="gdaui_data_store_get_type"
           glib:type-struct="DataStoreClass">
      <implements name="Gtk.TreeModel"/>
      <function name="new" c:identifier="gdaui_data_store_new" version="4.2">
        <doc xml:whitespace="preserve">Creates a #GtkTreeModel interface with a #GdaDataModel</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new object</doc>
          <type name="Gtk.TreeModel" c:type="GtkTreeModel*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel object</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
        </parameters>
      </function>
      <method name="append"
              c:identifier="gdaui_data_store_append"
              version="4.2">
        <doc xml:whitespace="preserve">Appends a new row.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if no error occurred</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">an unset #GtkTreeIter to set to the appended row</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete"
              c:identifier="gdaui_data_store_delete"
              version="4.2">
        <doc xml:whitespace="preserve">Marks the row pointed by @iter to be deleted</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">the considered row</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_iter_from_values"
              c:identifier="gdaui_data_store_get_iter_from_values"
              version="4.2"
              introspectable="0">
        <doc xml:whitespace="preserve">Sets @iter to the first row where all the values in @values at the columns identified at
@cols_index match. If the row can't be identified, then the contents of @iter is not modified.

NOTE: the @cols_index array MUST contain a column index for each value in @values</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the row has been identified @iter was set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">an unset #GtkTreeIter to set to the requested row</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:whitespace="preserve">a list of #GValue values</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="cols_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">an array of #gint containing the column number to match each value of @values</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_proxy"
              c:identifier="gdaui_data_store_get_proxy"
              version="4.2">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the internal #GdaDataProxy being used by @store</doc>
          <type name="Gda.DataProxy" c:type="GdaDataProxy*"/>
        </return-value>
      </method>
      <method name="get_row_from_iter"
              c:identifier="gdaui_data_store_get_row_from_iter"
              version="4.2">
        <doc xml:whitespace="preserve">Get the number of the row represented by @iter</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the row number, or -1 if an error occurred</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">a valid #GtkTreeIter</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="gdaui_data_store_set_value"
              version="4.2">
        <doc xml:whitespace="preserve">Stores a value in the @store data model.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">the considered row</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
          <parameter name="col" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data model column</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">the value to store (gets copied)</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="undelete"
              c:identifier="gdaui_data_store_undelete"
              version="4.2">
        <doc xml:whitespace="preserve">Remove the "to be deleted" mark the row pointed by @iter, if it existed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">the considered row</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <property name="model"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="prepend-null-entry"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="proxy" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <field name="object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="DataStorePriv" c:type="GdauiDataStorePriv*"/>
      </field>
    </class>
    <record name="DataStoreClass"
            c:type="GdauiDataStoreClass"
            glib:is-gtype-struct-for="DataStore">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="DataStorePriv" c:type="GdauiDataStorePriv" disguised="1">
    </record>
    <class name="Entry"
           c:symbol-prefix="entry"
           c:type="GdauiEntry"
           parent="Gtk.Entry"
           glib:type-name="GdauiEntry"
           glib:get-type="gdaui_entry_get_type"
           glib:type-struct="EntryClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="gdaui_entry_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiEntry widget.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the newly created #GdauiEntry widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="prefix" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a prefix (not modifiable) string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="suffix" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a suffix (not modifiable) string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="assume_delete">
        <doc xml:whitespace="preserve">To be defined by children classes to handle delete themselves</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="virt_start_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the starting position.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="virt_end_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the end position (not included in deletion), always &gt; @start_pos</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:whitespace="preserve">an offset to add to positions using @virt_start_pos or @virt_end_pos as reference to call gtk_editable_*()</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="assume_insert">
        <doc xml:whitespace="preserve">To be defined by children classes to handle insert themselves</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">the text to be inserted</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="text_length" transfer-ownership="none">
            <doc xml:whitespace="preserve">@text's length in bytes (not characters)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="virt_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the position where @text is to be inserted</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:whitespace="preserve">an offset to add to positions using @virt_pos as reference to call gtk_editable_*()</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_empty_text">
        <doc xml:whitespace="preserve">If defined, sould return a text suitable to display EMPTY value, it will be called when
entry was set to NULL and is becomming not NULL

Returs: a newt string, or %NULL</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <method name="get_text" c:identifier="gdaui_entry_get_text">
        <doc xml:whitespace="preserve">Get a new string containing the contents of the widget as a string without the
prefix and/or suffix and/or format if they have been specified. This method differs
from calling gtk_entry_get_text() since the latest will return the complete text
in @entry including prefix and/or suffix and/or format.

Note: %NULL may be returned if this method is called while the widget is working on some
internal modifications, or if gdaui_entry_set_text() was called with a %NULL
as its @text argument.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new string, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_max_length" c:identifier="gdaui_entry_set_max_length">
        <doc xml:whitespace="preserve">Sets the maximum allowed length of the contents of the widget.
If the current contents are longer than the given length, then they will be truncated to fit.

The difference with gtk_entry_set_max_length() is that the max length does not take into account
the prefix and/or suffix parts which may have been set.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="max" transfer-ownership="none">
            <doc xml:whitespace="preserve">the maximum length of the entry, or 0 for no maximum.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_prefix" c:identifier="gdaui_entry_set_prefix">
        <doc xml:whitespace="preserve">Sets @prefix as a prefix string of @entry: that string will always be displayed in the
text entry, will not be modifiable, and won't be part of the returned text</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:whitespace="preserve">a prefix string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_suffix" c:identifier="gdaui_entry_set_suffix">
        <doc xml:whitespace="preserve">Sets @suffix as a suffix string of @entry: that string will always be displayed in the
text entry, will not be modifiable, and won't be part of the returned text</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="suffix" transfer-ownership="none">
            <doc xml:whitespace="preserve">a suffix string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="gdaui_entry_set_text">
        <doc xml:whitespace="preserve">Sets @text into @entry. 

As a side effect, if @text is %NULL, then the entry will
be completely empty, whereas if @text is the empty string (""), then
@entry will display the prefix and/or suffix and/or format string if they have
been set. Except this case, calling this method is similar to calling
gtk_entry_set_text()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the text to set into @entry, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_width_chars"
              c:identifier="gdaui_entry_set_width_chars">
        <doc xml:whitespace="preserve">Sets @entry's maximum width in characters, without taking into account
any prefix or suffix (which will automatically be handled). If you want to take
a prefix or suffix into account direclty, then use gtk_entry_set_width_chars()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="max_width" transfer-ownership="none">
            <doc xml:whitespace="preserve">maximum width, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="prefix" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="suffix" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="entry">
        <type name="Gtk.Entry" c:type="GtkEntry"/>
      </field>
      <field name="priv">
        <type name="EntryPrivate" c:type="GdauiEntryPrivate*"/>
      </field>
    </class>
    <class name="EntryBin"
           c:symbol-prefix="entry_bin"
           c:type="GdauiEntryBin"
           parent="EntryWrapper"
           glib:type-name="GdauiEntryBin"
           glib:get-type="gdaui_entry_bin_get_type"
           glib:type-struct="EntryBinClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_bin_new">
        <doc xml:whitespace="preserve">Creates a new widget which is mainly a #GtkEntry</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data handler to be used by the new widget</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested data type (compatible with @dh)</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="object">
        <type name="EntryWrapper" c:type="GdauiEntryWrapper"/>
      </field>
      <field name="priv">
        <type name="EntryBinPrivate" c:type="GdauiEntryBinPrivate*"/>
      </field>
    </class>
    <record name="EntryBinClass"
            c:type="GdauiEntryBinClass"
            glib:is-gtype-struct-for="EntryBin">
      <field name="parent_class">
        <type name="EntryWrapperClass" c:type="GdauiEntryWrapperClass"/>
      </field>
    </record>
    <record name="EntryBinPrivate" c:type="GdauiEntryBinPrivate" disguised="1">
    </record>
    <class name="EntryBoolean"
           c:symbol-prefix="entry_boolean"
           c:type="GdauiEntryBoolean"
           parent="EntryWrapper"
           glib:type-name="GdauiEntryBoolean"
           glib:get-type="gdaui_entry_boolean_get_type"
           glib:type-struct="EntryBooleanClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_boolean_new">
        <doc xml:whitespace="preserve">Creates a new data entry widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data handler to be used by the new widget</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested data type (compatible with @dh)</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="object">
        <type name="EntryWrapper" c:type="GdauiEntryWrapper"/>
      </field>
      <field name="priv">
        <type name="EntryBooleanPrivate" c:type="GdauiEntryBooleanPrivate*"/>
      </field>
    </class>
    <record name="EntryBooleanClass"
            c:type="GdauiEntryBooleanClass"
            glib:is-gtype-struct-for="EntryBoolean">
      <field name="parent_class">
        <type name="EntryWrapperClass" c:type="GdauiEntryWrapperClass"/>
      </field>
    </record>
    <record name="EntryBooleanPrivate"
            c:type="GdauiEntryBooleanPrivate"
            disguised="1">
    </record>
    <record name="EntryClass"
            c:type="GdauiEntryClass"
            glib:is-gtype-struct-for="Entry">
      <field name="parent_class">
        <type name="Gtk.EntryClass" c:type="GtkEntryClass"/>
      </field>
      <field name="get_empty_text">
        <callback name="get_empty_text">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="entry" transfer-ownership="none">
              <type name="Entry" c:type="GdauiEntry*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="assume_insert">
        <callback name="assume_insert">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="entry" transfer-ownership="none">
              <type name="Entry" c:type="GdauiEntry*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <doc xml:whitespace="preserve">the text to be inserted</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="text_length" transfer-ownership="none">
              <doc xml:whitespace="preserve">@text's length in bytes (not characters)</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="virt_pos" transfer-ownership="none">
              <doc xml:whitespace="preserve">the position where @text is to be inserted</doc>
              <type name="gint" c:type="gint*"/>
            </parameter>
            <parameter name="offset" transfer-ownership="none">
              <doc xml:whitespace="preserve">an offset to add to positions using @virt_pos as reference to call gtk_editable_*()</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="assume_delete">
        <callback name="assume_delete">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="entry" transfer-ownership="none">
              <type name="Entry" c:type="GdauiEntry*"/>
            </parameter>
            <parameter name="virt_start_pos" transfer-ownership="none">
              <doc xml:whitespace="preserve">the starting position.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="virt_end_pos" transfer-ownership="none">
              <doc xml:whitespace="preserve">the end position (not included in deletion), always &gt; @start_pos</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="offset" transfer-ownership="none">
              <doc xml:whitespace="preserve">an offset to add to positions using @virt_start_pos or @virt_end_pos as reference to call gtk_editable_*()</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="EntryCombo"
           c:symbol-prefix="entry_combo"
           c:type="GdauiEntryCombo"
           parent="EntryShell"
           glib:type-name="GdauiEntryCombo"
           glib:get-type="gdaui_entry_combo_get_type"
           glib:type-struct="EntryComboClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_combo_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiEntryCombo widget. The widget is a combo box which displays a
selectable list of items (the items come from the 'source-&gt;data_model' data model)

The widget allows the value setting of one or more #GdaHolder objects
(one for each 'source-&gt;nodes') while proposing potentially "more readable" choices.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="paramlist" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdauiSet object</doc>
            <type name="Set" c:type="GdauiSet*"/>
          </parameter>
          <parameter name="source" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdauiSetSource structure, part of @paramlist</doc>
            <type name="SetSource" c:type="GdauiSetSource*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_all_values"
              c:identifier="gdaui_entry_combo_get_all_values">
        <doc xml:whitespace="preserve">Get a list of all the values in @combo's data model's selected row. The list
must be freed by the caller.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a new list of values</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="GObject.Value"/>
          </type>
        </return-value>
      </method>
      <method name="get_reference_values"
              c:identifier="gdaui_entry_combo_get_reference_values">
        <doc xml:whitespace="preserve">Get the original values stored within @combo. The returned values are the ones
within @combo, so they must not be freed afterwards; the list has to be freed afterwards.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a new list of values</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="GObject.Value"/>
          </type>
        </return-value>
      </method>
      <method name="get_values" c:identifier="gdaui_entry_combo_get_values">
        <doc xml:whitespace="preserve">Get the values stored within @combo. The returned values are the ones
within @combo, so they must not be freed afterwards, however the returned
list has to be freed afterwards.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a new list of values</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="GObject.Value"/>
          </type>
        </return-value>
      </method>
      <method name="set_default_values"
              c:identifier="gdaui_entry_combo_set_default_values">
        <doc xml:whitespace="preserve">Sets the default values of @combo to the specified ones. None of the
values provided in the list is modified.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="values" transfer-ownership="none">
            <doc xml:whitespace="preserve">a list of #GValue values</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="GObject.Value"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_reference_values"
              c:identifier="gdaui_entry_combo_set_reference_values">
        <doc xml:whitespace="preserve">Sets the original values of @combo to the specified ones. None of the
values provided in the list is modified.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="values" transfer-ownership="none">
            <doc xml:whitespace="preserve">a list of #GValue values</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="GObject.Value"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_values" c:identifier="gdaui_entry_combo_set_values">
        <doc xml:whitespace="preserve">Sets the values of @combo to the specified ones. None of the
values provided in the list is modified.

@values holds a list of #GValue values, one for each parameter that is present in the @node argument
of the gdaui_entry_combo_new() function which created @combo.

An error can occur when there is no corresponding value(s) to be displayed
for the provided values.

If @values is %NULL, then the entry itself is set to NULL;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if no error occurred.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="values" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a list of #GValue values, or %NULL</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="GObject.Value"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <property name="set-default-if-invalid"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="object">
        <type name="EntryShell" c:type="GdauiEntryShell"/>
      </field>
      <field name="priv">
        <type name="EntryComboPriv" c:type="GdauiEntryComboPriv*"/>
      </field>
    </class>
    <record name="EntryComboClass"
            c:type="GdauiEntryComboClass"
            glib:is-gtype-struct-for="EntryCombo">
      <field name="parent_class">
        <type name="EntryShellClass" c:type="GdauiEntryShellClass"/>
      </field>
    </record>
    <record name="EntryComboPriv" c:type="GdauiEntryComboPriv" disguised="1">
    </record>
    <class name="EntryCommonTime"
           c:symbol-prefix="entry_common_time"
           c:type="GdauiEntryCommonTime"
           parent="EntryWrapper"
           glib:type-name="GdauiEntryCommonTime"
           glib:get-type="gdaui_entry_common_time_get_type"
           glib:type-struct="EntryCommonTimeClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Scrollable"/>
      <property name="editing-canceled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="type" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="object">
        <type name="EntryWrapper" c:type="GdauiEntryWrapper"/>
      </field>
      <field name="priv">
        <type name="EntryCommonTimePrivate"
              c:type="GdauiEntryCommonTimePrivate*"/>
      </field>
    </class>
    <record name="EntryCommonTimeClass"
            c:type="GdauiEntryCommonTimeClass"
            glib:is-gtype-struct-for="EntryCommonTime">
      <field name="parent_class">
        <type name="EntryWrapperClass" c:type="GdauiEntryWrapperClass"/>
      </field>
    </record>
    <record name="EntryCommonTimePrivate"
            c:type="GdauiEntryCommonTimePrivate"
            disguised="1">
    </record>
    <callback name="EntryCreateFunc"
              c:type="GdauiEntryCreateFunc"
              introspectable="0">
      <doc xml:whitespace="preserve">Defines a function which creates a #GdauiDataEntry widget</doc>
      <return-value>
        <type name="DataEntry" c:type="GdauiDataEntry*"/>
      </return-value>
      <parameters>
        <parameter transfer-ownership="none">
          <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </callback>
    <class name="EntryDate"
           c:symbol-prefix="entry_date"
           c:type="GdauiEntryDate"
           parent="EntryCommonTime"
           glib:type-name="GdauiEntryDate"
           glib:get-type="gdaui_entry_date_get_type"
           glib:type-struct="EntryDateClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_date_new">
        <doc xml:whitespace="preserve">Creates a new data entry widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data handler to be used by the new widget</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="object">
        <type name="EntryCommonTime" c:type="GdauiEntryCommonTime"/>
      </field>
    </class>
    <record name="EntryDateClass"
            c:type="GdauiEntryDateClass"
            glib:is-gtype-struct-for="EntryDate">
      <field name="parent_class">
        <type name="EntryCommonTimeClass" c:type="GdauiEntryCommonTimeClass"/>
      </field>
    </record>
    <record name="EntryDatePrivate"
            c:type="GdauiEntryDatePrivate"
            disguised="1">
    </record>
    <class name="EntryNone"
           c:symbol-prefix="entry_none"
           c:type="GdauiEntryNone"
           parent="EntryWrapper"
           glib:type-name="GdauiEntryNone"
           glib:get-type="gdaui_entry_none_get_type"
           glib:type-struct="EntryNoneClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_none_new">
        <doc xml:whitespace="preserve">Creates a new data entry widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested data type (compatible with @dh)</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="object">
        <type name="EntryWrapper" c:type="GdauiEntryWrapper"/>
      </field>
      <field name="priv">
        <type name="EntryNonePrivate" c:type="GdauiEntryNonePrivate*"/>
      </field>
    </class>
    <record name="EntryNoneClass"
            c:type="GdauiEntryNoneClass"
            glib:is-gtype-struct-for="EntryNone">
      <field name="parent_class">
        <type name="EntryWrapperClass" c:type="GdauiEntryWrapperClass"/>
      </field>
    </record>
    <record name="EntryNonePrivate"
            c:type="GdauiEntryNonePrivate"
            disguised="1">
    </record>
    <class name="EntryNumber"
           c:symbol-prefix="entry_number"
           c:type="GdauiEntryNumber"
           parent="EntryWrapper"
           glib:type-name="GdauiEntryNumber"
           glib:get-type="gdaui_entry_number_get_type"
           glib:type-struct="EntryNumberClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_number_new">
        <doc xml:whitespace="preserve">Creates a new data entry widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data handler to be used by the new widget</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested data type (compatible with @dh)</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="is_type_numeric"
                c:identifier="gdaui_entry_number_is_type_numeric">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </function>
      <property name="editing-canceled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="options"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="object">
        <type name="EntryWrapper" c:type="GdauiEntryWrapper"/>
      </field>
      <field name="priv">
        <type name="EntryNumberPrivate" c:type="GdauiEntryNumberPrivate*"/>
      </field>
    </class>
    <record name="EntryNumberClass"
            c:type="GdauiEntryNumberClass"
            glib:is-gtype-struct-for="EntryNumber">
      <field name="parent_class">
        <type name="EntryWrapperClass" c:type="GdauiEntryWrapperClass"/>
      </field>
    </record>
    <record name="EntryNumberPrivate"
            c:type="GdauiEntryNumberPrivate"
            disguised="1">
    </record>
    <record name="EntryPrivate" c:type="GdauiEntryPrivate" disguised="1">
    </record>
    <class name="EntryShell"
           c:symbol-prefix="entry_shell"
           c:type="GdauiEntryShell"
           parent="Gtk.Viewport"
           glib:type-name="GdauiEntryShell"
           glib:get-type="gdaui_entry_shell_get_type"
           glib:type-struct="EntryShellClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <method name="pack_entry" c:identifier="gdaui_entry_shell_pack_entry">
        <doc xml:whitespace="preserve">Packs a #GTkWidget widget into the GdauiEntryShell.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="main_widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget to pack into @shell</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh" c:identifier="gdaui_entry_shell_refresh">
        <doc xml:whitespace="preserve">Forces the shell to refresh its display (mainly the color of the
button).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_ucolor"
              c:identifier="gdaui_entry_shell_set_ucolor"
              version="5.0.3">
        <doc xml:whitespace="preserve">Defines the color to be used when @de displays an invalid value. Any value not
between 0. and 1. will result in the default hard coded values to be used (grayish).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="red" transfer-ownership="none">
            <doc xml:whitespace="preserve">the red component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <doc xml:whitespace="preserve">the green component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <doc xml:whitespace="preserve">the blue component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="alpha" transfer-ownership="none">
            <doc xml:whitespace="preserve">the alpha component of a color</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unknown" c:identifier="gdaui_entry_shell_set_unknown">
        <doc xml:whitespace="preserve">Defines if @shell's contents is in an undefined state (shows or hides @shell's contents)</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="unknown" transfer-ownership="none">
            <doc xml:whitespace="preserve">set to %TRUE if @shell's contents is unavailable and should not be modified</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="actions" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="handler" writable="1" transfer-ownership="none">
        <type name="Gda.DataHandler"/>
      </property>
      <property name="is-cell-renderer" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="object">
        <type name="Gtk.Viewport" c:type="GtkViewport"/>
      </field>
      <field name="priv">
        <type name="EntryShellPriv" c:type="GdauiEntryShellPriv*"/>
      </field>
    </class>
    <record name="EntryShellClass"
            c:type="GdauiEntryShellClass"
            glib:is-gtype-struct-for="EntryShell">
      <field name="parent_class">
        <type name="Gtk.ViewportClass" c:type="GtkViewportClass"/>
      </field>
    </record>
    <record name="EntryShellPriv" c:type="GdauiEntryShellPriv" disguised="1">
    </record>
    <class name="EntryString"
           c:symbol-prefix="entry_string"
           c:type="GdauiEntryString"
           parent="EntryWrapper"
           glib:type-name="GdauiEntryString"
           glib:get-type="gdaui_entry_string_get_type"
           glib:type-struct="EntryStringClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_string_new">
        <doc xml:whitespace="preserve">Creates a new data entry widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data handler to be used by the new widget</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested data type (compatible with @dh)</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="editing-canceled" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="multiline" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="options"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="object">
        <type name="EntryWrapper" c:type="GdauiEntryWrapper"/>
      </field>
      <field name="priv">
        <type name="EntryStringPrivate" c:type="GdauiEntryStringPrivate*"/>
      </field>
    </class>
    <record name="EntryStringClass"
            c:type="GdauiEntryStringClass"
            glib:is-gtype-struct-for="EntryString">
      <field name="parent_class">
        <type name="EntryWrapperClass" c:type="GdauiEntryWrapperClass"/>
      </field>
    </record>
    <record name="EntryStringPrivate"
            c:type="GdauiEntryStringPrivate"
            disguised="1">
    </record>
    <class name="EntryTime"
           c:symbol-prefix="entry_time"
           c:type="GdauiEntryTime"
           parent="EntryCommonTime"
           glib:type-name="GdauiEntryTime"
           glib:get-type="gdaui_entry_time_get_type"
           glib:type-struct="EntryTimeClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_time_new">
        <doc xml:whitespace="preserve">Creates a new widget which is mainly a GtkEntry</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data handler to be used by the new widget</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="object">
        <type name="EntryCommonTime" c:type="GdauiEntryCommonTime"/>
      </field>
    </class>
    <record name="EntryTimeClass"
            c:type="GdauiEntryTimeClass"
            glib:is-gtype-struct-for="EntryTime">
      <field name="parent_class">
        <type name="EntryCommonTimeClass" c:type="GdauiEntryCommonTimeClass"/>
      </field>
    </record>
    <record name="EntryTimePrivate"
            c:type="GdauiEntryTimePrivate"
            disguised="1">
    </record>
    <class name="EntryTimestamp"
           c:symbol-prefix="entry_timestamp"
           c:type="GdauiEntryTimestamp"
           parent="EntryCommonTime"
           glib:type-name="GdauiEntryTimestamp"
           glib:get-type="gdaui_entry_timestamp_get_type"
           glib:type-struct="EntryTimestampClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_entry_timestamp_new">
        <doc xml:whitespace="preserve">Creates a new data entry widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dh" transfer-ownership="none">
            <doc xml:whitespace="preserve">the data handler to be used by the new widget</doc>
            <type name="Gda.DataHandler" c:type="GdaDataHandler*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="object">
        <type name="EntryCommonTime" c:type="GdauiEntryCommonTime"/>
      </field>
    </class>
    <record name="EntryTimestampClass"
            c:type="GdauiEntryTimestampClass"
            glib:is-gtype-struct-for="EntryTimestamp">
      <field name="parent_class">
        <type name="EntryCommonTimeClass" c:type="GdauiEntryCommonTimeClass"/>
      </field>
    </record>
    <record name="EntryTimestampPrivate"
            c:type="GdauiEntryTimestampPrivate"
            disguised="1">
    </record>
    <class name="EntryWrapper"
           c:symbol-prefix="entry_wrapper"
           c:type="GdauiEntryWrapper"
           parent="EntryShell"
           glib:type-name="GdauiEntryWrapper"
           glib:get-type="gdaui_entry_wrapper_get_type"
           glib:type-struct="EntryWrapperClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataEntry"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <virtual-method name="can_expand">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="horiz" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="connect_signals" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="modify_cb" transfer-ownership="none">
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="activate_cb" transfer-ownership="none">
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_entry" introspectable="0">
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="grab_focus">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="is_valid">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="real_get_value">
        <return-value transfer-ownership="full">
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="real_set_value">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_editable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="editable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="value_is_equal_to">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="value_is_null">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <method name="contents_activated"
              c:identifier="gdaui_entry_wrapper_contents_activated">
        <doc xml:whitespace="preserve">Signals to @gwrap that the entry has been activated (that is the user
pressed ENTER for example to signify he has finished entering data)</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="contents_changed"
              c:identifier="gdaui_entry_wrapper_contents_changed">
        <doc xml:whitespace="preserve">Signals to @gwrap that the entry has changed</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="set-default-if-invalid"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="object">
        <type name="EntryShell" c:type="GdauiEntryShell"/>
      </field>
      <field name="priv">
        <type name="EntryWrapperPriv" c:type="GdauiEntryWrapperPriv*"/>
      </field>
    </class>
    <record name="EntryWrapperClass"
            c:type="GdauiEntryWrapperClass"
            glib:is-gtype-struct-for="EntryWrapper">
      <field name="parent_class">
        <type name="EntryShellClass" c:type="GdauiEntryShellClass"/>
      </field>
      <field name="create_entry" introspectable="0">
        <callback name="create_entry" introspectable="0">
          <return-value>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="real_set_value">
        <callback name="real_set_value">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="real_get_value">
        <callback name="real_get_value">
          <return-value transfer-ownership="full">
            <type name="GObject.Value" c:type="GValue*"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="connect_signals" introspectable="0">
        <callback name="connect_signals" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
            <parameter name="modify_cb" transfer-ownership="none">
              <type name="GObject.Callback" c:type="GCallback"/>
            </parameter>
            <parameter name="activate_cb" transfer-ownership="none">
              <type name="GObject.Callback" c:type="GCallback"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_expand">
        <callback name="can_expand">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
            <parameter name="horiz" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_editable">
        <callback name="set_editable">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
            <parameter name="editable" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="value_is_equal_to">
        <callback name="value_is_equal_to">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="value_is_null">
        <callback name="value_is_null">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_valid">
        <callback name="is_valid">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="grab_focus">
        <callback name="grab_focus">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mgwrp" transfer-ownership="none">
              <type name="EntryWrapper" c:type="GdauiEntryWrapper*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="EntryWrapperPriv"
            c:type="GdauiEntryWrapperPriv"
            disguised="1">
    </record>
    <class name="Form"
           c:symbol-prefix="form"
           c:type="GdauiForm"
           parent="Gtk.Box"
           glib:type-name="GdauiForm"
           glib:get-type="gdaui_form_get_type"
           glib:type-struct="FormClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataProxy"/>
      <implements name="DataSelector"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdaui_form_new" version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiForm widget suitable to display the data in @model</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="info" transfer-ownership="none">
        <type name="DataProxyInfo"/>
      </property>
      <property name="info-flags"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="model"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.DataModel"/>
      </property>
      <property name="raw-form" transfer-ownership="none">
        <type name="RawForm"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="FormPriv" c:type="GdauiFormPriv*"/>
      </field>
    </class>
    <record name="FormClass"
            c:type="GdauiFormClass"
            glib:is-gtype-struct-for="Form">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="FormPriv" c:type="GdauiFormPriv" disguised="1">
    </record>
    <class name="FormattedEntry"
           c:symbol-prefix="formatted_entry"
           c:type="GdauiFormattedEntry"
           parent="Entry"
           glib:type-name="GdauiFormattedEntry"
           glib:get-type="gdaui_formatted_entry_get_type"
           glib:type-struct="FormattedEntryClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="gdaui_formatted_entry_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiFormattedEntry widget.

Characters in @format are of two types:
writeable: writeable characters which will be replaced with and underscore and where text will be entered
fixed: every other characters are fixed characters, where text cant' be edited, and will be displayed AS IS

Possible values for writeable characters are:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;'0': digits&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;'9': digits excluded 0&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;'@': alpha&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;'^': alpha converted to upper case&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;'#': alphanumeric&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;'*': any char&lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;

if @mask is not %NULL, then it should only contains the follogin characters, which are used side by side with
@format's characters:
&lt;itemizedlist&gt;
&lt;listitem&gt;&lt;para&gt;'_': the corresponding character in @format is actually used as a writable character&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;'-': the corresponding character in @format is actually used as a writable character, but
the character will be removed from gdaui_formatted_entry_get_text()'s result if it was not
filled by the user&lt;/para&gt;&lt;/listitem&gt;
&lt;listitem&gt;&lt;para&gt;' ': the corresponding character in @format will not be considered as a writable character
but as a non writable character&lt;/para&gt;&lt;/listitem&gt;
&lt;/itemizedlist&gt;
it is then interpreted in the following way: for a character C in @format, if the character at the same
position in @mask is the space character (' '), then C will not interpreted as a writable format
character as defined above. @mask does not be to have the same length as @format.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the newly created #GdauiFormattedEntry widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <doc xml:whitespace="preserve">a format string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="mask" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a mask string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_text" c:identifier="gdaui_formatted_entry_get_text">
        <doc xml:whitespace="preserve">Get @entry's contents. This function is similar to gdaui_get_text() except
that it optionnally uses the information contained in @mask when gdaui_formatted_entry_new()
was called to format the output differently.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new string, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_insert_func"
              c:identifier="gdaui_formatted_entry_set_insert_func"
              introspectable="0">
        <doc xml:whitespace="preserve">Specifies that @entry should call @insert_func when the user wants to insert a char
which is anot allowed, to perform other actions</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="insert_func"
                     transfer-ownership="none"
                     allow-none="1"
                     closure="1">
            <doc xml:whitespace="preserve">a #GdauiFormattedEntryInsertFunc, or %NULL</doc>
            <type name="FormattedEntryInsertFunc"
                  c:type="GdauiFormattedEntryInsertFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a pointer which will be passed to @insert_func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <property name="format" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="mask" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="entry">
        <type name="Entry" c:type="GdauiEntry"/>
      </field>
      <field name="priv">
        <type name="FormattedEntryPrivate"
              c:type="GdauiFormattedEntryPrivate*"/>
      </field>
    </class>
    <record name="FormattedEntryClass"
            c:type="GdauiFormattedEntryClass"
            glib:is-gtype-struct-for="FormattedEntry">
      <field name="parent_class">
        <type name="EntryClass" c:type="GdauiEntryClass"/>
      </field>
    </record>
    <callback name="FormattedEntryInsertFunc"
              c:type="GdauiFormattedEntryInsertFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="entry" transfer-ownership="none">
          <type name="FormattedEntry" c:type="GdauiFormattedEntry*"/>
        </parameter>
        <parameter name="insert_char" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
        <parameter name="virt_pos" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="FormattedEntryPrivate"
            c:type="GdauiFormattedEntryPrivate"
            disguised="1">
    </record>
    <class name="Grid"
           c:symbol-prefix="grid"
           c:type="GdauiGrid"
           parent="Gtk.Box"
           glib:type-name="GdauiGrid"
           glib:get-type="gdaui_grid_get_type"
           glib:type-struct="GridClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataProxy"/>
      <implements name="DataSelector"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdaui_grid_new" version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiGrid widget suitable to display the data in @model</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_sample_size"
              c:identifier="gdaui_grid_set_sample_size"
              version="4.2">
        <doc xml:whitespace="preserve">Sets the size of each chunk of data to display: the maximum number of rows which
can be displayed at a time. See gdaui_raw_grid_set_sample_size() and gda_data_proxy_set_sample_size()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sample_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">the size of the sample displayed in @grid</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="info" transfer-ownership="none">
        <type name="DataProxyInfo"/>
      </property>
      <property name="info-flags"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="model"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.DataModel"/>
      </property>
      <property name="raw-grid" transfer-ownership="none">
        <type name="RawGrid"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="GridPriv" c:type="GdauiGridPriv*"/>
      </field>
    </class>
    <record name="GridClass"
            c:type="GdauiGridClass"
            glib:is-gtype-struct-for="Grid">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="GridPriv" c:type="GdauiGridPriv" disguised="1">
    </record>
    <class name="Login"
           c:symbol-prefix="login"
           c:type="GdauiLogin"
           parent="Gtk.Box"
           glib:type-name="GdauiLogin"
           glib:get-type="gdaui_login_get_type"
           glib:type-struct="LoginClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdaui_login_new" version="4.2">
        <doc xml:whitespace="preserve">Creates a new login widget which enables the user to specify connection parameters.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dsn" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a data source name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_valid" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_connection_information"
              c:identifier="gdaui_login_get_connection_information"
              version="4.2">
        <doc xml:whitespace="preserve">Get the information specified in @login as a pointer to a (read-only) #GdaDsnInfo.
If the connection is not specified by a DSN, then the 'name' attribute of the returned
#GdaDsnInfo will be %NULL, and otherwise it will contain the name of the selected DSN.

Retuns: (transfer none): a pointer to a (read-only) #GdaDsnInfo.</doc>
        <return-value transfer-ownership="none">
          <type name="Gda.DsnInfo" c:type="GdaDsnInfo*"/>
        </return-value>
      </method>
      <method name="set_connection_information"
              c:identifier="gdaui_login_set_connection_information">
        <doc xml:whitespace="preserve">Changes the information displayed in @login, to represent @cinfo.
If @login's mode has %GDA_UI_LOGIN_HIDE_DIRECT_CONNECTION_MODE, then
if @cinfo-&gt;name is not %NULL it is displayed in the DSN selector, otherwise
a warning is shown and the result
is the same as having passed %NULL for the @cinfo argument.

In any case @login's mode (set by gdaui_login_set_mode()) is not changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cinfo" transfer-ownership="none">
            <doc xml:whitespace="preserve">a pointer to a structure representing the information to display.</doc>
            <type name="Gda.DsnInfo" c:type="GdaDsnInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dsn" c:identifier="gdaui_login_set_dsn">
        <doc xml:whitespace="preserve">Changes the information displayed in @login, to represent @dsn.
If @login's mode has %GDA_UI_LOGIN_HIDE_DSN_SELECTION_MODE, then
the DSN information is extracted and displayed in the direct login area.

If @dsn is not a declared data source name, then a warning is shown and the result
is the same as having passed %NULL for the @dsn argument.

In any case @login's mode (set by gdaui_login_set_mode()) is not changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="dsn" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a data source name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode"
              c:identifier="gdaui_login_set_mode"
              version="4.2">
        <doc xml:whitespace="preserve">Set how @login operates</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">a flag</doc>
            <type name="LoginMode" c:type="GdauiLoginMode"/>
          </parameter>
        </parameters>
      </method>
      <property name="dsn" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="mode"
                introspectable="0"
                writable="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="valid" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="LoginPrivate" c:type="GdauiLoginPrivate*"/>
      </field>
      <glib:signal name="changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="LoginClass"
            c:type="GdauiLoginClass"
            glib:is-gtype-struct-for="Login">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="login" transfer-ownership="none">
              <type name="Login" c:type="GdauiLogin*"/>
            </parameter>
            <parameter name="is_valid" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="LoginMode" c:type="GdauiLoginMode">
      <doc xml:whitespace="preserve">Defines the aspect of the #GdauiLogin widget</doc>
      <member name="enable_control_centre_mode"
              value="1"
              c:identifier="GDA_UI_LOGIN_ENABLE_CONTROL_CENTRE_MODE"/>
      <member name="hide_dsn_selection_mode"
              value="2"
              c:identifier="GDA_UI_LOGIN_HIDE_DSN_SELECTION_MODE"/>
      <member name="hide_direct_connection_mode"
              value="4"
              c:identifier="GDA_UI_LOGIN_HIDE_DIRECT_CONNECTION_MODE"/>
    </bitfield>
    <record name="LoginPrivate" c:type="GdauiLoginPrivate" disguised="1">
    </record>
    <class name="NumericEntry"
           c:symbol-prefix="numeric_entry"
           c:type="GdauiNumericEntry"
           parent="Entry"
           glib:type-name="GdauiNumericEntry"
           glib:get-type="gdaui_numeric_entry_get_type"
           glib:type-struct="NumericEntryClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="gdaui_numeric_entry_new">
        <doc xml:whitespace="preserve">Creates a new #GdauiNumericEntry widget.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the newly created #GdauiNumericEntry widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the numeric type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_value" c:identifier="gdaui_numeric_entry_get_value">
        <return-value transfer-ownership="full">
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
      </method>
      <property name="decimal-sep" writable="1" transfer-ownership="none">
        <type name="gchar"/>
      </property>
      <property name="n-decimals" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="thousands-sep" writable="1" transfer-ownership="none">
        <type name="gchar"/>
      </property>
      <property name="type" writable="1" transfer-ownership="none">
        <type name="GType"/>
      </property>
      <field name="entry">
        <type name="Entry" c:type="GdauiEntry"/>
      </field>
      <field name="priv">
        <type name="NumericEntryPrivate" c:type="GdauiNumericEntryPrivate*"/>
      </field>
    </class>
    <record name="NumericEntryClass"
            c:type="GdauiNumericEntryClass"
            glib:is-gtype-struct-for="NumericEntry">
      <field name="parent_class">
        <type name="EntryClass" c:type="GdauiEntryClass"/>
      </field>
    </record>
    <record name="NumericEntryPrivate"
            c:type="GdauiNumericEntryPrivate"
            disguised="1">
    </record>
    <record name="Plugin" c:type="GdauiPlugin">
      <doc xml:whitespace="preserve">Structure representing a plugin.

Note: @entry_create_func and @cell_create_func can't be %NULL at the same time</doc>
      <field name="plugin_name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="plugin_descr" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="plugin_file" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="nb_g_types" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="valid_g_types" writable="1">
        <type name="GType" c:type="GType*"/>
      </field>
      <field name="options_xml_spec" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="entry_create_func" introspectable="0" writable="1">
        <type name="EntryCreateFunc" c:type="GdauiEntryCreateFunc"/>
      </field>
      <field name="cell_create_func" introspectable="0" writable="1">
        <type name="CellCreateFunc" c:type="GdauiCellCreateFunc"/>
      </field>
      <method name="declare" c:identifier="gdaui_plugin_declare">
        <doc xml:whitespace="preserve">Adds a new plugin which will be used by the forms and grids. The new plugin, as
described by @plugin can declare a custom widget to be used for forms, grids, or both.

If a plugin is already declared with the same name as the requested name, then
a warning is issued and the operation fails.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <class name="ProviderSelector"
           c:symbol-prefix="provider_selector"
           c:type="GdauiProviderSelector"
           parent="Combo"
           glib:type-name="GdauiProviderSelector"
           glib:get-type="gdaui_provider_selector_get_type"
           glib:type-struct="ProviderSelectorClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataSelector"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="gdaui_provider_selector_new">
        <doc xml:whitespace="preserve">Create a new #GdauiProviderSelector widget.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the newly created widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_provider"
              c:identifier="gdaui_provider_selector_get_provider"
              version="4.2">
        <doc xml:whitespace="preserve">Get the selected provider.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the selected provider, or %NULL if no provider is selected</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_provider_obj"
              c:identifier="gdaui_provider_selector_get_provider_obj"
              version="4.2">
        <doc xml:whitespace="preserve">Get the selected provider as a #GdaServerProvider object</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GdaServerProvider or %NULL if an error occurred</doc>
          <type name="Gda.ServerProvider" c:type="GdaServerProvider*"/>
        </return-value>
      </method>
      <method name="set_provider"
              c:identifier="gdaui_provider_selector_set_provider"
              version="4.2">
        <doc xml:whitespace="preserve">Forces @selector to be set on @provider</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @provider has been selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the provider to be selected, or %NULL for the default (SQLite)</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Combo" c:type="GdauiCombo"/>
      </field>
      <field name="priv">
        <type name="ProviderSelectorPrivate"
              c:type="GdauiProviderSelectorPrivate*"/>
      </field>
    </class>
    <record name="ProviderSelectorClass"
            c:type="GdauiProviderSelectorClass"
            glib:is-gtype-struct-for="ProviderSelector">
      <field name="parent_class">
        <type name="ComboClass" c:type="GdauiComboClass"/>
      </field>
    </record>
    <record name="ProviderSelectorPrivate"
            c:type="GdauiProviderSelectorPrivate"
            disguised="1">
    </record>
    <class name="RawForm"
           c:symbol-prefix="raw_form"
           c:type="GdauiRawForm"
           parent="BasicForm"
           glib:type-name="GdauiRawForm"
           glib:get-type="gdaui_raw_form_get_type"
           glib:type-struct="RawFormClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataProxy"/>
      <implements name="DataSelector"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdaui_raw_form_new" version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiRawForm widget to display data in @model</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GdaDataModel, or %NULL</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="model" writable="1" transfer-ownership="none">
        <type name="Gda.DataModel"/>
      </property>
      <field name="object">
        <type name="BasicForm" c:type="GdauiBasicForm"/>
      </field>
      <field name="priv">
        <type name="RawFormPriv" c:type="GdauiRawFormPriv*"/>
      </field>
    </class>
    <record name="RawFormClass"
            c:type="GdauiRawFormClass"
            glib:is-gtype-struct-for="RawForm">
      <field name="parent_class">
        <type name="BasicFormClass" c:type="GdauiBasicFormClass"/>
      </field>
    </record>
    <record name="RawFormPriv" c:type="GdauiRawFormPriv" disguised="1">
    </record>
    <class name="RawGrid"
           c:symbol-prefix="raw_grid"
           c:type="GdauiRawGrid"
           parent="Gtk.TreeView"
           glib:type-name="GdauiRawGrid"
           glib:get-type="gdaui_raw_grid_get_type"
           glib:type-struct="RawGridClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="DataProxy"/>
      <implements name="DataSelector"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gdaui_raw_grid_new" version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiRawGrid widget suitable to display the data in @model</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaDataModel</doc>
            <type name="Gda.DataModel" c:type="GdaDataModel*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="double_clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="row" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="populate_popup">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <type name="Gtk.Menu" c:type="GtkMenu*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_formatting_function"
              c:identifier="gdaui_raw_grid_add_formatting_function"
              version="5.0.3">
        <doc xml:whitespace="preserve">This function allows you to specify that the @func function needs to be called
whenever the rendering of a cell in @grid needs to be done. It is similar in purpose
to the gtk_tree_view_column_set_cell_data_func() function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:whitespace="preserve">a #GdauiRawGridFormatFunc function pointer</doc>
            <type name="RawGridFormatFunc" c:type="GdauiRawGridFormatFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a pointer to pass to the @func function when called</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="dnotify"
                     transfer-ownership="none"
                     allow-none="1"
                     scope="async">
            <doc xml:whitespace="preserve">destroy notifier for @data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_formatting_function"
              c:identifier="gdaui_raw_grid_remove_formatting_function"
              version="5.0.3"
              introspectable="0">
        <doc xml:whitespace="preserve">This function undoes what has been specified before by gdaui_raw_grid_add_formatting_function()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdauiRawGridFormatFunc function pointer</doc>
            <type name="RawGridFormatFunc" c:type="GdauiRawGridFormatFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_layout_from_file"
              c:identifier="gdaui_raw_grid_set_layout_from_file"
              version="4.2">
        <doc xml:whitespace="preserve">Sets a grid's columns layout according an XML description contained in @file_name, for the grid identified
by the @grid_name name (as an XML layout file can contain the descriptions of several forms and grids).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">XML file name to use</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="grid_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the grid to use, in @file_name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sample_size"
              c:identifier="gdaui_raw_grid_set_sample_size"
              version="4.2">
        <doc xml:whitespace="preserve">Sets the size of each chunk of data to display: the maximum number of rows which
can be displayed at a time. See gdaui_grid_set_sample_size() and gda_data_proxy_set_sample_size()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sample_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">the size of the sample displayed in @grid</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sample_start"
              c:identifier="gdaui_raw_grid_set_sample_start"
              version="4.2">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sample_start" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="global-actions-visible"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="info-cell-visible"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="model" writable="1" transfer-ownership="none">
        <type name="Gda.DataModel"/>
      </property>
      <property name="xml-layout"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <field name="object">
        <type name="Gtk.TreeView" c:type="GtkTreeView"/>
      </field>
      <field name="priv">
        <type name="RawGridPriv" c:type="GdauiRawGridPriv*"/>
      </field>
      <glib:signal name="double-clicked" when="first">
        <doc xml:whitespace="preserve">Emitted when the user double clicks on a row</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="row" transfer-ownership="none">
            <doc xml:whitespace="preserve">the row that was double clicked</doc>
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="populate-popup" when="first">
        <doc xml:whitespace="preserve">Connect this signal and modify the popup menu.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkMenu to modify</doc>
            <type name="Gtk.Menu"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="RawGridClass"
            c:type="GdauiRawGridClass"
            glib:is-gtype-struct-for="RawGrid">
      <field name="parent_class">
        <type name="Gtk.TreeViewClass" c:type="GtkTreeViewClass"/>
      </field>
      <field name="double_clicked">
        <callback name="double_clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="grid" transfer-ownership="none">
              <type name="RawGrid" c:type="GdauiRawGrid*"/>
            </parameter>
            <parameter name="row" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="populate_popup">
        <callback name="populate_popup">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="grid" transfer-ownership="none">
              <type name="RawGrid" c:type="GdauiRawGrid*"/>
            </parameter>
            <parameter name="menu" transfer-ownership="none">
              <type name="Gtk.Menu" c:type="GtkMenu*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="RawGridFormatFunc" c:type="GdauiRawGridFormatFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="cell" transfer-ownership="none">
          <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
        </parameter>
        <parameter name="column" transfer-ownership="none">
          <type name="Gtk.TreeViewColumn" c:type="GtkTreeViewColumn*"/>
        </parameter>
        <parameter name="column_pos" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="model" transfer-ownership="none">
          <type name="Gda.DataModel" c:type="GdaDataModel*"/>
        </parameter>
        <parameter name="row" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="RawGridPriv" c:type="GdauiRawGridPriv" disguised="1">
    </record>
    <class name="RtEditor"
           c:symbol-prefix="rt_editor"
           c:type="GdauiRtEditor"
           parent="Gtk.Box"
           glib:type-name="GdauiRtEditor"
           glib:get-type="gdaui_rt_editor_get_type"
           glib:type-struct="RtEditorClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdaui_rt_editor_new"
                   version="4.2.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiRtEditor widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_contents"
              c:identifier="gdaui_rt_editor_get_contents"
              version="4.2.2">
        <doc xml:whitespace="preserve">Get the contents of @editor, using the markup syntax</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new string, or %NULL if there was an error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_contents"
              c:identifier="gdaui_rt_editor_set_contents"
              version="4.2.2">
        <doc xml:whitespace="preserve">Set @editor's contents. If @length is -1, @markup must be nul-terminated</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="markup" transfer-ownership="none">
            <doc xml:whitespace="preserve">the text to set in @editor, using the markup syntax (must be valid UTF-8)</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">length of text in bytes.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_editable"
              c:identifier="gdaui_rt_editor_set_editable"
              version="4.2.2">
        <doc xml:whitespace="preserve">Set @editor's editability</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether it's editable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="buffer" transfer-ownership="none">
        <doc xml:whitespace="preserve">Get access to the actual #GtkTextBuffer used. Do not modify it!</doc>
        <type name="Gtk.TextBuffer"/>
      </property>
      <property name="in-scrolled-window"
                writable="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">Determines if the contents of the widget appears in a scrolled window or not.</doc>
        <type name="gboolean"/>
      </property>
      <property name="no-background" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">If set to %TRUE, then the default text background is removed
and thus the textbackground is the default widget's background.

This property has to be set before the widget is realized, and is taken into account only
if the widget is not editable (when it's realized).</doc>
        <type name="gboolean"/>
      </property>
      <property name="show-markup" writable="1" transfer-ownership="none">
        <doc xml:whitespace="preserve">Instead of showing the formatted text, display the raw text (in the txt2tags syntax)</doc>
        <type name="gboolean"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="RtEditorPriv" c:type="GdauiRtEditorPriv*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="RtEditorClass"
            c:type="GdauiRtEditorClass"
            glib:is-gtype-struct-for="RtEditor">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="editor" transfer-ownership="none">
              <type name="RtEditor" c:type="GdauiRtEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="RtEditorPriv" c:type="GdauiRtEditorPriv" disguised="1">
    </record>
    <class name="ServerOperation"
           c:symbol-prefix="server_operation"
           c:type="GdauiServerOperation"
           parent="Gtk.Box"
           glib:type-name="GdauiServerOperation"
           glib:get-type="gdaui_server_operation_get_type"
           glib:type-struct="ServerOperationClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdaui_server_operation_new"
                   version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiServerOperation widget using all the parameters provided in @paramlist.

The global layout is rendered using a table (a #GtkTable), and an entry is created for each
node of @paramlist.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the new widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="op" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaServerOperation structure</doc>
            <type name="Gda.ServerOperation" c:type="GdaServerOperation*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_in_dialog"
                   c:identifier="gdaui_server_operation_new_in_dialog"
                   version="4.2">
        <doc xml:whitespace="preserve">Creates a new #GdauiServerOperation widget in the same way as gdaui_server_operation_new()
and puts it into a #GtkDialog widget. The returned dialog has the "Ok" and "Cancel" buttons
which respectively return GTK_RESPONSE_ACCEPT and GTK_RESPONSE_REJECT.

The #GdauiServerOperation widget is attached to the dialog using the user property
"form".</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the new #GtkDialog widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="op" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaServerOperation object</doc>
            <type name="Gda.ServerOperation" c:type="GdaServerOperation*"/>
          </parameter>
          <parameter name="parent" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the parent window for the new dialog, or %NULL</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the title of the dialog window, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="header" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a helper text displayed at the top of the dialog, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="hide-single-header"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="server-operation"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.ServerOperation"/>
      </property>
      <field name="object">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="ServerOperationPriv" c:type="GdauiServerOperationPriv*"/>
      </field>
    </class>
    <record name="ServerOperationClass"
            c:type="GdauiServerOperationClass"
            glib:is-gtype-struct-for="ServerOperation">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="ServerOperationPriv"
            c:type="GdauiServerOperationPriv"
            disguised="1">
    </record>
    <record name="Set" c:type="GdauiSet">
      <field name="object" writable="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" writable="1">
        <type name="SetPriv" c:type="GdauiSetPriv*"/>
      </field>
      <field name="sources_list" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="groups_list" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
    </record>
    <record name="SetClass" c:type="GdauiSetClass">
      <field name="parent_class" writable="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="public_data_changed">
        <callback name="public_data_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="set" transfer-ownership="none">
              <type name="Set" c:type="GdauiSet*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_model_changed">
        <callback name="source_model_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="set" transfer-ownership="none">
              <type name="Set" c:type="GdauiSet*"/>
            </parameter>
            <parameter name="source" transfer-ownership="none">
              <type name="SetSource" c:type="GdauiSetSource*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="SetGroup" c:type="GdauiSetGroup">
      <field name="group" writable="1">
        <type name="Gda.SetGroup" c:type="GdaSetGroup*"/>
      </field>
      <field name="source" writable="1">
        <type name="SetSource" c:type="GdauiSetSource*"/>
      </field>
      <field name="_gda_reserved1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="_gda_reserved2" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
    </record>
    <record name="SetPriv" c:type="GdauiSetPriv" disguised="1">
    </record>
    <record name="SetSource" c:type="GdauiSetSource">
      <field name="source" writable="1">
        <type name="Gda.SetSource" c:type="GdaSetSource*"/>
      </field>
      <field name="shown_n_cols" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="shown_cols_index" writable="1">
        <type name="gint" c:type="gint*"/>
      </field>
      <field name="ref_n_cols" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="ref_cols_index" writable="1">
        <type name="gint" c:type="gint*"/>
      </field>
      <field name="_gda_reserved1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="_gda_reserved2" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="_gda_reserved3" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="_gda_reserved4" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
    </record>
    <class name="TreeStore"
           c:symbol-prefix="tree_store"
           c:type="GdauiTreeStore"
           parent="GObject.Object"
           glib:type-name="GdauiTreeStore"
           glib:get-type="gdaui_tree_store_get_type"
           glib:type-struct="TreeStoreClass">
      <implements name="Gtk.TreeDragDest"/>
      <implements name="Gtk.TreeDragSource"/>
      <implements name="Gtk.TreeModel"/>
      <function name="new"
                c:identifier="gdaui_tree_store_new"
                version="4.2"
                introspectable="0">
        <doc xml:whitespace="preserve">Creates a #GtkTreeModel interface with a #GdaTree, mapping columns to attributes' values.

As an example, &lt;literal&gt;gdaui_tree_store_new (tree, 2, G_TYPE_STRING, "name", G_TYPE_STRING, "schema");&lt;/literal&gt; creates
a #GtkTreeStore with two columns (of type G_TYPE_STRING), one with the values of the "name" attribute, and one with
the values of the "schema" attribute.

Note that the GType has to correspond to the type of value associated with the attribute name (no type
conversion is done), and a warning will be displayed in case of type mismatch.</doc>
        <return-value>
          <doc xml:whitespace="preserve">the new object, or %NULL if an attribute's name was NULL or an empty string</doc>
          <type name="Gtk.TreeModel" c:type="GtkTreeModel*"/>
        </return-value>
        <parameters>
          <parameter name="tree" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaTree object</doc>
            <type name="Gda.Tree" c:type="GdaTree*"/>
          </parameter>
          <parameter name="n_columns" transfer-ownership="none">
            <doc xml:whitespace="preserve">number of columns in the tree store</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </function>
      <function name="newv"
                c:identifier="gdaui_tree_store_newv"
                version="4.2"
                introspectable="0">
        <doc xml:whitespace="preserve">Creates a #GtkTreeModel interface with a #GdaTree, mapping columns to attributes' values.
For more information and limitations, see gdaui_tree_store_new().</doc>
        <return-value>
          <doc xml:whitespace="preserve">the new object, or %NULL if an inconsistency exists in the parameters</doc>
          <type name="Gtk.TreeModel" c:type="GtkTreeModel*"/>
        </return-value>
        <parameters>
          <parameter name="tree" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaTree object</doc>
            <type name="Gda.Tree" c:type="GdaTree*"/>
          </parameter>
          <parameter name="n_columns" transfer-ownership="none">
            <doc xml:whitespace="preserve">number of columns in the tree store</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="types" transfer-ownership="none">
            <doc xml:whitespace="preserve">an array of @n_columns GType to specify the type of each column</doc>
            <type name="GType" c:type="GType*"/>
          </parameter>
          <parameter name="attribute_names" transfer-ownership="none">
            <doc xml:whitespace="preserve">an array of @n_columns strings to specify the attribute name to map each column on</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="drag_can_drag">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drag_can_drop">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="selection_data" transfer-ownership="none">
            <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drag_delete">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drag_drop">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="selection_data" transfer-ownership="none">
            <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drag_get">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="selection_data" transfer-ownership="none">
            <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_iter"
              c:identifier="gdaui_tree_store_get_iter"
              version="4.2.8">
        <doc xml:whitespace="preserve">Sets @iter to represent @node in the tree.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if no error occurred and @iter is valid</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">a pointer to a #GtkTreeIter</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GdaTreeNode in @store</doc>
            <type name="Gda.TreeNode" c:type="GdaTreeNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_node"
              c:identifier="gdaui_tree_store_get_node"
              version="4.2.8">
        <doc xml:whitespace="preserve">Get the  #GdaTreeNode represented by @iter.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GdaTreeNode represented by @iter, or %NULL if an error occurred</doc>
          <type name="Gda.TreeNode" c:type="GdaTreeNode*"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">a valid #GtkTreeIter</doc>
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <property name="tree"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gda.Tree"/>
      </property>
      <field name="object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="TreeStorePriv" c:type="GdauiTreeStorePriv*"/>
      </field>
      <glib:signal name="drag-can-drag" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drag-can-drop" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drag-delete" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drag-drop" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drag-get" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TreeStoreClass"
            c:type="GdauiTreeStoreClass"
            glib:is-gtype-struct-for="TreeStore">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="drag_can_drag">
        <callback name="drag_can_drag">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="store" transfer-ownership="none">
              <type name="TreeStore" c:type="GdauiTreeStore*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drag_get">
        <callback name="drag_get">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="store" transfer-ownership="none">
              <type name="TreeStore" c:type="GdauiTreeStore*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="selection_data" transfer-ownership="none">
              <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drag_can_drop">
        <callback name="drag_can_drop">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="store" transfer-ownership="none">
              <type name="TreeStore" c:type="GdauiTreeStore*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="selection_data" transfer-ownership="none">
              <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drag_drop">
        <callback name="drag_drop">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="store" transfer-ownership="none">
              <type name="TreeStore" c:type="GdauiTreeStore*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="selection_data" transfer-ownership="none">
              <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drag_delete">
        <callback name="drag_delete">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="store" transfer-ownership="none">
              <type name="TreeStore" c:type="GdauiTreeStore*"/>
            </parameter>
            <parameter name="path" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="TreeStorePriv" c:type="GdauiTreeStorePriv" disguised="1">
    </record>
    <function name="data_entry_error_quark"
              c:identifier="gdaui_data_entry_error_quark"
              moved-to="DataEntry.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="new_data_entry" c:identifier="gdaui_new_data_entry">
      <doc xml:whitespace="preserve">Creates a new #GdauiDataEntry widget, taking into account the requested entry name
if @plugin_name is not %NULL (if no entry of that name is found, then the default data
entry widget will be created).

if the plugins has no option, then the ":&amp;lt;plugin options&amp;gt;" part may be omitted.</doc>
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">a new #GdauiDataEntry widget, _NEVER_ %NULL</doc>
        <type name="DataEntry" c:type="GdauiDataEntry*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GType</doc>
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter name="plugin_name" transfer-ownership="none" allow-none="1">
          <doc xml:whitespace="preserve">the name of an entry plugin, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
