GnomeDbSelector

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

Synopsis

                    GnomeDbSelector;
enum                GnomeDbSelectorMode;
enum                GnomeDbSelectorColumn;
GtkWidget *         gnome_db_selector_new               (GdaDict *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);
void                gnome_db_selector_expand_all        (GnomeDbSelector *mgsel);
void                gnome_db_selector_collapse_all      (GnomeDbSelector *mgsel);
GObject *           gnome_db_selector_get_selected_object
                                                        (GnomeDbSelector *mgsel);
GObject *           gnome_db_selector_get_selected_object_parent
                                                        (GnomeDbSelector *mgsel);
void                name_group_init_model_fill          (Module *module,
                                                         GtkTreeModel *model);
void                name_group_manager_destroyed_cb     (GObject *manager_obj,
                                                         Module *module);
void                name_group_manager_weak_notify      (Module *module,
                                                         GObject *manager_obj);
void                name_group_obj_added_cb             (GObject *manager_obj,
                                                         GObject *added_obj,
                                                         Module *module);
void                name_group_obj_removed_cb           (GObject *manager_obj,
                                                         GObject *removed_obj,
                                                         Module *module);
void                name_group_obj_updated_cb           (GObject *manager_obj,
                                                         GObject *upd_obj,
                                                         Module *module);
void                name_group_update_started_cb        (GObject *manager_obj,
                                                         Module *module);
void                name_group_update_finished_cb       (GObject *manager_obj,
                                                         Module *module);
void                name_group_do_add_obj               (Module *module,
                                                         GObject *added_obj);
void                name_group_do_remove_obj            (Module *module,
                                                         GObject *removed_obj);
void                name_group_do_update_obj            (Module *module,
                                                         GObject *updated_obj);
void                name_group_free_mod_data            (Module *module);
void                flat_init_model_fill                (Module *module,
                                                         GtkTreeModel *model);
void                flat_manager_weak_notify            (Module *module,
                                                         GObject *manager_obj);
void                flat_obj_added_cb                   (GObject *manager_obj,
                                                         GObject *added_obj,
                                                         Module *module);
void                flat_obj_removed_cb                 (GObject *manager_obj,
                                                         GObject *removed_obj,
                                                         Module *module);
void                flat_obj_updated_cb                 (GObject *manager_obj,
                                                         GObject *upd_obj,
                                                         Module *module);
void                flat_objs_order_changed_cb          (GObject *manager_obj,
                                                         Module *module);
void                flat_do_add_obj                     (Module *module,
                                                         GObject *added_obj);
void                flat_do_remove_obj                  (Module *module,
                                                         GObject *removed_obj);
void                flat_do_update_obj                  (Module *module,
                                                         GObject *updated_obj);
void                flat_free_mod_data                  (Module *module);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBox
                                 +----GtkVBox
                                       +----GnomeDbSelector

Implemented Interfaces

GnomeDbSelector implements AtkImplementorIface and GtkBuildable.

Signals

  "selection-changed"                              : Run First

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;


enum GnomeDbSelectorMode

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;


enum GnomeDbSelectorColumn

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;


gnome_db_selector_new ()

GtkWidget *         gnome_db_selector_new               (GdaDict *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 GdaDict 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

gnome_db_selector_set_mode_columns ()

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

gnome_db_selector_set_selected_object ()

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

gnome_db_selector_set_headers_visible ()

void                gnome_db_selector_set_headers_visible
                                                        (GnomeDbSelector *mgsel,
                                                         gboolean visible);

Show or hide the headers.

mgsel :

visible :


gnome_db_selector_set_column_label ()

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 :


gnome_db_selector_expand_all ()

void                gnome_db_selector_expand_all        (GnomeDbSelector *mgsel);

Recursively expands all nodes in the mgsel widget.

mgsel :


gnome_db_selector_collapse_all ()

void                gnome_db_selector_collapse_all      (GnomeDbSelector *mgsel);

Recursively collapse all nodes in the mgsel widget.

mgsel :


gnome_db_selector_get_selected_object ()

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).

gnome_db_selector_get_selected_object_parent ()

GObject *           gnome_db_selector_get_selected_object_parent
                                                        (GnomeDbSelector *mgsel);

FIXME

mgsel :

Returns :


name_group_init_model_fill ()

void                name_group_init_model_fill          (Module *module,
                                                         GtkTreeModel *model);

module :

model :


name_group_manager_destroyed_cb ()

void                name_group_manager_destroyed_cb     (GObject *manager_obj,
                                                         Module *module);

manager_obj :

module :


name_group_manager_weak_notify ()

void                name_group_manager_weak_notify      (Module *module,
                                                         GObject *manager_obj);

module :

manager_obj :


name_group_obj_added_cb ()

void                name_group_obj_added_cb             (GObject *manager_obj,
                                                         GObject *added_obj,
                                                         Module *module);

manager_obj :

added_obj :

module :


name_group_obj_removed_cb ()

void                name_group_obj_removed_cb           (GObject *manager_obj,
                                                         GObject *removed_obj,
                                                         Module *module);

manager_obj :

removed_obj :

module :


name_group_obj_updated_cb ()

void                name_group_obj_updated_cb           (GObject *manager_obj,
                                                         GObject *upd_obj,
                                                         Module *module);

manager_obj :

upd_obj :

module :


name_group_update_started_cb ()

void                name_group_update_started_cb        (GObject *manager_obj,
                                                         Module *module);

manager_obj :

module :


name_group_update_finished_cb ()

void                name_group_update_finished_cb       (GObject *manager_obj,
                                                         Module *module);

manager_obj :

module :


name_group_do_add_obj ()

void                name_group_do_add_obj               (Module *module,
                                                         GObject *added_obj);

module :

added_obj :


name_group_do_remove_obj ()

void                name_group_do_remove_obj            (Module *module,
                                                         GObject *removed_obj);

module :

removed_obj :


name_group_do_update_obj ()

void                name_group_do_update_obj            (Module *module,
                                                         GObject *updated_obj);

module :

updated_obj :


name_group_free_mod_data ()

void                name_group_free_mod_data            (Module *module);

module :


flat_init_model_fill ()

void                flat_init_model_fill                (Module *module,
                                                         GtkTreeModel *model);

module :

model :


flat_manager_weak_notify ()

void                flat_manager_weak_notify            (Module *module,
                                                         GObject *manager_obj);

module :

manager_obj :


flat_obj_added_cb ()

void                flat_obj_added_cb                   (GObject *manager_obj,
                                                         GObject *added_obj,
                                                         Module *module);

manager_obj :

added_obj :

module :


flat_obj_removed_cb ()

void                flat_obj_removed_cb                 (GObject *manager_obj,
                                                         GObject *removed_obj,
                                                         Module *module);

manager_obj :

removed_obj :

module :


flat_obj_updated_cb ()

void                flat_obj_updated_cb                 (GObject *manager_obj,
                                                         GObject *upd_obj,
                                                         Module *module);

manager_obj :

upd_obj :

module :


flat_objs_order_changed_cb ()

void                flat_objs_order_changed_cb          (GObject *manager_obj,
                                                         Module *module);

manager_obj :

module :


flat_do_add_obj ()

void                flat_do_add_obj                     (Module *module,
                                                         GObject *added_obj);

module :

added_obj :


flat_do_remove_obj ()

void                flat_do_remove_obj                  (Module *module,
                                                         GObject *removed_obj);

module :

removed_obj :


flat_do_update_obj ()

void                flat_do_update_obj                  (Module *module,
                                                         GObject *updated_obj);

module :

updated_obj :


flat_free_mod_data ()

void                flat_free_mod_data                  (Module *module);

module :

Signal Details

The "selection-changed" signal

void                user_function                      (GnomeDbSelector *dbselector,
                                                        GObject         *arg1,
                                                        gpointer         user_data)       : Run First

dbselector :

the object which received the signal.

arg1 :

user_data :

user data set when the signal handler was connected.