|  |  |  | Libgnomedb Reference Manual |  | 
|---|
| GnomeDbSelectorGnomeDbSelector — Individual selection of libgnomedb objects (data types, functions, ...) | 
            GnomeDbSelector;
            GnomeDbSelectorPriv;
enum        GnomeDbSelectorMode;
enum        GnomeDbSelectorColumn;
guint       gnome_db_selector_get_type      (void);
GtkWidget*  gnome_db_selector_new           (GnomeDbDict *dict,
                                             GObject *ref_object,
                                             gulong mode,
                                             gulong columns);
void        gnome_db_selector_set_mode_columns
                                            (GnomeDbSelector *mgsel,
                                             GObject *ref_object,
                                             gulong mode,
                                             gulong columns);
gboolean    gnome_db_selector_set_selected_object
                                            (GnomeDbSelector *mgsel,
                                             GObject *selection);
void        gnome_db_selector_set_headers_visible
                                            (GnomeDbSelector *mgsel,
                                             gboolean visible);
void        gnome_db_selector_set_column_label
                                            (GnomeDbSelector *mgsel,
                                             guint column,
                                             const gchar *label);
GObject*    gnome_db_selector_get_selected_object
                                            (GnomeDbSelector *mgsel);
GObject*    gnome_db_selector_get_selected_object_parent
                                            (GnomeDbSelector *mgsel);
  GObject
   +----GtkObject
         +----GtkWidget
               +----GtkContainer
                     +----GtkBox
                           +----GtkVBox
                                 +----GnomeDbSelector
"selection-changed" void user_function (GnomeDbSelector *dbselector, GObject *arg1, gpointer user_data);
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.
typedef struct {
	GnomeDbDict       *dict;
	gulong        mode;
	gulong        columns;
	GObject      *ref_object;
	GtkTreeView  *treeview;
	gboolean      headers_visible;
	GtkTreeModel *model;   /* we pocess a reference on the object */
	GSList       *modules; /* list of Module structures */
	GObject      *selection;
} GnomeDbSelectorPriv;
typedef enum {
	GNOME_DB_SELECTOR_DATA_TYPES  = 1 << 0,
	GNOME_DB_SELECTOR_FUNCTIONS   = 1 << 1,
	GNOME_DB_SELECTOR_AGGREGATES  = 1 << 2,
	/* database structure */
	GNOME_DB_SELECTOR_TABLES      = 1 << 3,
	GNOME_DB_SELECTOR_FIELDS      = 1 << 5,
	/* queries */
	GNOME_DB_SELECTOR_QUERIES     = 1 << 4,
	GNOME_DB_SELECTOR_TARGETS     = 1 << 6,
	GNOME_DB_SELECTOR_JOINS       = 1 << 7,
	GNOME_DB_SELECTOR_QVIS_FIELDS = 1 << 8,
	GNOME_DB_SELECTOR_QALL_FIELDS = 1 << 9,
	GNOME_DB_SELECTOR_SUB_QUERIES = 1 << 10,
	GNOME_DB_SELECTOR_TARGETS_CTS = 1 << 13,
	/* graphs */
	GNOME_DB_SELECTOR_GRAPHS      = 1 << 11,
	/* layouts */
	GNOME_DB_SELECTOR_FORMS       = 1 << 12
} GnomeDbSelectorMode;
typedef enum {
	GNOME_DB_SELECTOR_COLUMN_OWNER        = 1 << 1,
	GNOME_DB_SELECTOR_COLUMN_COMMENTS     = 1 << 2,
	GNOME_DB_SELECTOR_COLUMN_TYPE         = 1 << 3,
	GNOME_DB_SELECTOR_COLUMN_FIELD_LENGTH = 1 << 4,
	GNOME_DB_SELECTOR_COLUMN_FIELD_NNUL   = 1 << 5,
	GNOME_DB_SELECTOR_COLUMN_FIELD_DEFAULT= 1 << 6,
	GNOME_DB_SELECTOR_COLUMN_QFIELD_VALUE = 1 << 7,
	GNOME_DB_SELECTOR_COLUMN_QFIELD_TYPE  = 1 << 8
} GnomeDbSelectorColumn;
GtkWidget* gnome_db_selector_new (GnomeDbDict *dict, GObject *ref_object, gulong mode, gulong columns);
Creates a new GnomeDbSelector widget.
ref_object must be NULL if mode implies a list where the displayed items are all fetched from within dict (namely GNOME_DB_SELECTOR_DATA_TYPES, GNOME_DB_SELECTOR_FUNCTIONS, GNOME_DB_SELECTOR_AGGREGATES, GNOME_DB_SELECTOR_TABLES, GNOME_DB_SELECTOR_QUERIES). In this case ref_object will simply be ignored.
ref_object cannot be NULL if mode implies a list where the displayed items depend on a specific object, namely GNOME_DB_SELECTOR_FIELDS (when not used in conjunction with GNOME_DB_SELECTOR_TABLES), GNOME_DB_SELECTOR_TARGETS, GNOME_DB_SELECTOR_JOINS, GNOME_DB_SELECTOR_QVIS_FIELDS, GNOME_DB_SELECTOR_QALL_FIELDS and GNOME_DB_SELECTOR_SUB_QUERIES (when not used in conjunction with GNOME_DB_SELECTOR_QUERIES).
| dict : | a GnomeDbDict object | 
| ref_object : | a GObject object, or NULL if none is required | 
| mode : | an OR'ed value of the possible items to display in the widget | 
| columns : | an OR'ed value describing which columns will be displayed | 
| Returns : | the new widget | 
void        gnome_db_selector_set_mode_columns
                                            (GnomeDbSelector *mgsel,
                                             GObject *ref_object,
                                             gulong mode,
                                             gulong columns);Changes what data gets displayed in mgsel and which columns are displayed. The mode and columns have the same meaning as for the gnome_db_selector_new() function.
The usage of the ref_object parameter is the same as for gnome_db_selector_new().
| mgsel : | a GnomeDbSelector widget | 
| ref_object : | a GObject, or NULL | 
| mode : | an OR'ed value of the possible items to display in the widget | 
| columns : | an OR'ed value describing which columns will be displayed | 
gboolean    gnome_db_selector_set_selected_object
                                            (GnomeDbSelector *mgsel,
                                             GObject *selection);Force the widget to select a given object, and to display it in its visible area (unfolding nodes on the way if necessary)
| mgsel : | |
| selection : | |
| Returns : | TRUE if the specified object was found, and FALSE otherwise | 
void        gnome_db_selector_set_headers_visible
                                            (GnomeDbSelector *mgsel,
                                             gboolean visible);Show or hide the headers.
| mgsel : | |
| visible : | 
void        gnome_db_selector_set_column_label
                                            (GnomeDbSelector *mgsel,
                                             guint column,
                                             const gchar *label);Sets the label of a column's header.
| mgsel : | |
| column : | |
| label : | 
GObject*    gnome_db_selector_get_selected_object
                                            (GnomeDbSelector *mgsel);Get the currently selected object.
| mgsel : | |
| Returns : | the selected object or NULL if nothing is selected or the current selection is on a "category" of objects (such as the "Functions" category for example). | 
GObject*    gnome_db_selector_get_selected_object_parent
                                            (GnomeDbSelector *mgsel);FIXME
| mgsel : | |
| Returns : | 
void user_function (GnomeDbSelector *dbselector, GObject *arg1, gpointer user_data);
| dbselector : | the object which received the signal. | 
| arg1 : | |
| user_data : | user data set when the signal handler was connected. | 
| << GnomeDbFindDialog | GnomeDbMatrix >> |