## GnomeDbEntryCombo GnomeDbEntryCombo — A combo box to choose a value from a GdaSet |

## Synopsis

                        GnomeDbEntryCombo;
                        GnomeDbEntryComboClass;
                        GnomeDbEntryComboPriv;
    GtkWidget*          gnome_db_entry_combo_new            (GdaSet *paramlist,
                                                             GdaSetSource *source);
    gboolean            gnome_db_entry_combo_set_values     (GnomeDbEntryCombo *combo,
                                                             GSList *values);
    GSList*             gnome_db_entry_combo_get_values     (GnomeDbEntryCombo *combo);
    GSList*             gnome_db_entry_combo_get_all_values (GnomeDbEntryCombo *combo);
    void                gnome_db_entry_combo_set_values_orig
                                                            (GnomeDbEntryCombo *combo,
                                                             GSList *values);
    GSList*             gnome_db_entry_combo_get_values_orig
                                                            (GnomeDbEntryCombo *combo);
    void                gnome_db_entry_combo_set_values_default
                                                            (GnomeDbEntryCombo *combo,
                                                             GSList *values);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----GtkViewport
                                           +----GnomeDbEntryShell
                                                 +----GnomeDbEntryCombo

## Implemented Interfaces

GnomeDbEntryCombo implements AtkImplementorIface, GtkBuildable and GnomeDbDataEntry.

## Properties

      "set-default-if-invalid"   gboolean              : Read / Write

## Description

This widget allows the user to select a row from a GdaDataModel object, and set one or several values from that row. Specifically, it uses a GdaSetNode (within a GdaSet object), and synchonizes the values of the GdaHolder objects in that GdaSetNode.

## Details

### GnomeDbEntryCombo

    typedef struct _GnomeDbEntryCombo GnomeDbEntryCombo;

### GnomeDbEntryComboClass

    typedef struct {
    	GnomeDbEntryShellClass   parent_class;
    } GnomeDbEntryComboClass;

### GnomeDbEntryComboPriv

    typedef struct _GnomeDbEntryComboPriv GnomeDbEntryComboPriv;

### gnome_db_entry_combo_new ()

    GtkWidget*          gnome_db_entry_combo_new            (GdaSet *paramlist,
                                                             GdaSetSource *source);

Creates a new GnomeDbEntryCombo widget. The widget is a combo box which displays a selectable list of items (the items come from the 'source->data_model' data model)

The widget allows the value setting of one or more GdaHolder objects (one for each 'source->nodes') while proposing potentially "more readable" choices.

`paramlist` : | a GdaSet object
`source` : | a GdaSetSource structure, part of `paramlist`
Returns : | the new widget

### gnome_db_entry_combo_set_values ()

    gboolean            gnome_db_entry_combo_set_values     (GnomeDbEntryCombo *combo,
                                                             GSList *values);

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 `gnome_db_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;

`combo` : | a GnomeDbEntryCombo widet
`values` : | a list of GValue values, or `NULL`
Returns : | TRUE if no error occurred.

### gnome_db_entry_combo_get_values ()

    GSList*             gnome_db_entry_combo_get_values     (GnomeDbEntryCombo *combo);

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.

`combo` : | a GnomeDbEntryCombo widet
Returns : | a new list of values

### gnome_db_entry_combo_get_all_values ()

    GSList*             gnome_db_entry_combo_get_all_values (GnomeDbEntryCombo *combo);

Get a list of all the values in `combo`'s data model's selected row. The list must be freed by the caller.

`combo` : | a GnomeDbEntryCombo widet
Returns : | a new list of values

### gnome_db_entry_combo_set_values_orig ()

    void                gnome_db_entry_combo_set_values_orig
                                                            (GnomeDbEntryCombo *combo,
                                                             GSList *values);

Sets the original values of `combo` to the specified ones. None of the values provided in the list is modified.

`combo` : | a GnomeDbEntryCombo widet
`values` : | a list of GValue values

### gnome_db_entry_combo_get_values_orig ()

    GSList*             gnome_db_entry_combo_get_values_orig
                                                            (GnomeDbEntryCombo *combo);

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.

`combo` : | a GnomeDbEntryCombo widet
Returns : | a new list of values

### gnome_db_entry_combo_set_values_default ()

    void                gnome_db_entry_combo_set_values_default
                                                            (GnomeDbEntryCombo *combo,
                                                             GSList *values);

Sets the default values of `combo` to the specified ones. None of the values provided in the list is modified.

`combo` : | a GnomeDbEntryCombo widet
`values` : | a list of GValue values

## Property Details

### The `"set-default-if-invalid"` property

      "set-default-if-invalid"   gboolean              : Read / Write

Default value: FALSE