## GnomeDbSelector GnomeDbSelector — Individual selection of libgnomedb objects (data types, functions, ...) |

## Synopsis

                        GnomeDbSelector;
                        GnomeDbSelectorClass;
    enum                GnomeDbSelectorFeature;
    GtkWidget *         gnome_db_selector_new               (void);
    void                gnome_db_selector_add_part          (GnomeDbSelector *sel,
                                                             const gchar *name,
                                                             GnomeDbSelectorPart *part);
    void                gnome_db_selector_add_parts_for_feature
                                                            (GnomeDbSelector *sel,
                                                             GdaMetaStore *store,
                                                             GnomeDbSelectorFeature feature);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkTreeView
                                     +----GnomeDbSelector

## Implemented Interfaces

GnomeDbSelector implements GtkBuildable and AtkImplementorIface.

## Signals

      "selected-object-changed"                        : Run Last

## Description

This widget presents the user with a (configurable) list of objects to choose from: Data types, functions, aggregates, ...

What really gets displayed in the widget (columns and rows) depends on the parameters passed to the `gnome_db_selector_new()` function.

## Details

### GnomeDbSelector

    typedef struct _GnomeDbSelector GnomeDbSelector;

### GnomeDbSelectorClass

    typedef struct {
    	GtkTreeViewClass    parent_class;
    	void              (*selected_object_changed) (GnomeDbSelector *sel, GnomeDbSelectorPart *part,
    						      GtkTreeStore *store, GtkTreeIter *iter);
    } GnomeDbSelectorClass;

### enum GnomeDbSelectorFeature

    typedef enum {
    	GNOME_DB_SELECTOR_FEATURE_NONE = 0,
    	GNOME_DB_SELECTOR_FEATURE_SCHEMAS = 1 << 0,
    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLES = 1 << 1,
    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_VIEWS = 1 << 2,
    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_DOMAINS = 1 << 3,

    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLE_COLUMNS = 1 << 4,
    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLE_CONSTRAINTS = 1 << 5,
    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLE_TRIGGERS = 1 << 6,

    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLE_DETAILS = (GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLE_COLUMNS | GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLE_CONSTRAINTS | GNOME_DB_SELECTOR_FEATURE_SCHEMA_TABLE_TRIGGERS),

    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_VIEW_COLUMNS = 1 << 7,
    	GNOME_DB_SELECTOR_FEATURE_SCHEMA_VIEW_DETAILS = (GNOME_DB_SELECTOR_FEATURE_SCHEMA_VIEW_COLUMNS)
    } GnomeDbSelectorFeature;

### gnome_db_selector_new ()

    GtkWidget *         gnome_db_selector_new               (void);

Creates a new GnomeDbSelector widget. If `features` is different than GNOME_DB_SELECTOR_FEATURE_NONE then some GnomeDbSelectorPart will be created and inserted by default in the new selector widget, avoiding much hand written code.

Returns : | the new widget

### gnome_db_selector_add_part ()

    void                gnome_db_selector_add_part          (GnomeDbSelector *sel,
                                                             const gchar *name,
                                                             GnomeDbSelectorPart *part);

`sel` : | a GnomeDbSelector widget
`name` : |
`part` : | a GnomeDbSelectorPart object

### gnome_db_selector_add_parts_for_feature ()

    void                gnome_db_selector_add_parts_for_feature
                                                            (GnomeDbSelector *sel,
                                                             GdaMetaStore *store,
                                                             GnomeDbSelectorFeature feature);

Adds some predefined parts to `sel` to implement some features

`sel` : | a GnomeDbSelector widget
`store` : | a GdaMetaStore object
`feature` : | a GnomeDbSelectorFeature feature

## Signal Details

### The `"selected-object-changed"` signal

    void                user_function                      (GnomeDbSelector     *dbselector,
                                                            GnomeDbSelectorPart *arg1,
                                                            GtkTreeStore        *arg2,
                                                            gpointer             arg3,
                                                            gpointer             user_data)       : Run Last

`dbselector` : | the object which received the signal.
`arg1` : |
`arg2` : |
`arg3` : |
`user_data` : | user data set when the signal handler was connected.