![]() | ![]() | ![]() | GNOME Data Access manual | ![]() |
---|
GdaDataModel — Basic data model class
struct GdaDataModelPrivate; void gda_data_model_changed (GdaDataModel *model); void gda_data_model_row_inserted (GdaDataModel *model, gint row); void gda_data_model_row_updated (GdaDataModel *model, gint row); void gda_data_model_row_removed (GdaDataModel *model, gint row); void gda_data_model_column_inserted (GdaDataModel *model, gint col); void gda_data_model_column_updated (GdaDataModel *model, gint col); void gda_data_model_column_removed (GdaDataModel *model, gint col); void gda_data_model_freeze (GdaDataModel *model); void gda_data_model_thaw (GdaDataModel *model); gint gda_data_model_get_n_rows (GdaDataModel *model); gint gda_data_model_get_n_columns (GdaDataModel *model); GdaFieldAttributes* gda_data_model_describe_column (GdaDataModel *model, gint col); const gchar* gda_data_model_get_column_title (GdaDataModel *model, gint col); void gda_data_model_set_column_title (GdaDataModel *model, gint col, const gchar *title); gint gda_data_model_get_column_position (GdaDataModel *model, const gchar *title); const GdaRow* gda_data_model_get_row (GdaDataModel *model, gint row); const GdaValue* gda_data_model_get_value_at (GdaDataModel *model, gint col, gint row); gboolean gda_data_model_is_updatable (GdaDataModel *model); const GdaRow* gda_data_model_append_row (GdaDataModel *model, const GList *values); gboolean gda_data_model_remove_row (GdaDataModel *model, const GdaRow *row); gboolean gda_data_model_update_row (GdaDataModel *model, const GdaRow *row); gboolean gda_data_model_append_column (GdaDataModel *model, const GdaFieldAttributes *attrs); gboolean gda_data_model_update_column (GdaDataModel *model, gint col, const GdaFieldAttributes *attrs); gboolean gda_data_model_remove_column (GdaDataModel *model, gint col); gboolean (*GdaDataModelForeachFunc) (GdaDataModel *model, GdaRow *row, gpointer user_data); void gda_data_model_foreach (GdaDataModel *model, GdaDataModelForeachFunc func, gpointer user_data); gboolean gda_data_model_has_changed (GdaDataModel *model); gboolean gda_data_model_begin_update (GdaDataModel *model); gboolean gda_data_model_cancel_update (GdaDataModel *model); gboolean gda_data_model_end_update (GdaDataModel *model); gchar* gda_data_model_to_comma_separated (GdaDataModel *model); gchar* gda_data_model_to_tab_separated (GdaDataModel *model); gchar* gda_data_model_to_xml (GdaDataModel *model, gboolean standalone); xmlNodePtr gda_data_model_to_xml_node (GdaDataModel *model, const gchar *name); gboolean gda_data_model_add_data_from_xml_node (GdaDataModel *model, xmlNodePtr node); const gchar* gda_data_model_get_command_text (GdaDataModel *model); void gda_data_model_set_command_text (GdaDataModel *model, const gchar *txt); GdaCommandType gda_data_model_get_command_type (GdaDataModel *model); void gda_data_model_set_command_type (GdaDataModel *model, GdaCommandType type);
void gda_data_model_changed (GdaDataModel *model);
Notifies listeners of the given data model object of changes in the underlying data. Listeners usually will connect themselves to the "changed" signal in the GdaDataModel class, thus being notified of any new data being appended or removed from the data model.
model : | a GdaDataModel object. |
void gda_data_model_row_inserted (GdaDataModel *model, gint row);
Emits the 'row_inserted' and 'changed' signals on model
.
model : | a GdaDataModel object. |
row : | row number. |
void gda_data_model_row_updated (GdaDataModel *model, gint row);
Emits the 'row_updated' and 'changed' signals on model
.
model : | a GdaDataModel object. |
row : | row number. |
void gda_data_model_row_removed (GdaDataModel *model, gint row);
Emits the 'row_removed' and 'changed' signal on model
.
model : | a GdaDataModel object. |
row : | row number. |
void gda_data_model_column_inserted (GdaDataModel *model, gint col);
Emits the 'column_inserted' and 'changed' signals on model
.
model : | a GdaDataModel object. |
col : | column number. |
void gda_data_model_column_updated (GdaDataModel *model, gint col);
Emits the 'column_updated' and 'changed' signals on model
.
model : | a GdaDataModel object. |
col : | column number. |
void gda_data_model_column_removed (GdaDataModel *model, gint col);
Emits the 'column_removed' and 'changed' signal on model
.
model : | a GdaDataModel object. |
col : | column number. |
void gda_data_model_freeze (GdaDataModel *model);
Disables notifications of changes on the given data model. To re-enable notifications again, you should call the gda_data_model_thaw function.
model : | a GdaDataModel object. |
void gda_data_model_thaw (GdaDataModel *model);
Re-enables notifications of changes on the given data model.
model : | a GdaDataModel object. |
gint gda_data_model_get_n_rows (GdaDataModel *model);
model : | a GdaDataModel object. |
Returns : | the number of rows in the given data model. |
gint gda_data_model_get_n_columns (GdaDataModel *model);
model : | a GdaDataModel object. |
Returns : | the number of columns in the given data model. |
GdaFieldAttributes* gda_data_model_describe_column (GdaDataModel *model, gint col);
Queries the underlying data model implementation for a description of a given column. That description is returned in the form of a GdaFieldAttributes structure, which contains all the information about the given column in the data model.
model : | a GdaDataModel object. |
col : | column number. |
Returns : | the description of the column. |
const gchar* gda_data_model_get_column_title (GdaDataModel *model, gint col);
model : | a GdaDataModel object. |
col : | column number. |
Returns : | the title for the given column in a data model object. |
void gda_data_model_set_column_title (GdaDataModel *model, gint col, const gchar *title);
Sets the title
of the given col
in model
.
model : | a GdaDataModel object. |
col : | column number |
title : | title for the given column. |
gint gda_data_model_get_column_position (GdaDataModel *model, const gchar *title);
Gets the position of a column on the data model, based on the column's title.
model : | a GdaDataModel object. |
title : | column title. |
Returns : | the position of the column in the data model, or -1 if the column could not be found. |
const GdaRow* gda_data_model_get_row (GdaDataModel *model, gint row);
Retrieves a given row from a data model.
model : | a GdaDataModel object. |
row : | row number. |
Returns : | a GdaRow object. |
const GdaValue* gda_data_model_get_value_at (GdaDataModel *model, gint col, gint row);
Retrieves the data stored in the given position (identified by
the col
and row
parameters) on a data model.
This is the main function for accessing data in a model.
model : | a GdaDataModel object. |
col : | column number. |
row : | row number. |
Returns : | a GdaValue containing the value stored in the given
position, or NULL on error (out-of-bound position, etc).
|
gboolean gda_data_model_is_updatable (GdaDataModel *model);
Checks whether the given data model can be updated or not.
model : | a GdaDataModel object. |
Returns : | TRUE if it can be updated, FALSE if not.
|
const GdaRow* gda_data_model_append_row (GdaDataModel *model, const GList *values);
Appends a row to the given data model.
model : | a GdaDataModel object. |
values : | GList of GdaValue* representing the row to add. The length must match model's column count. These GdaValue are value-copied. The user is still responsible for freeing them. |
Returns : | the added row. |
gboolean gda_data_model_remove_row (GdaDataModel *model, const GdaRow *row);
Removes a row from the data model. This results in the underlying database row being removed in the database.
model : | a GdaDataModel object. |
row : | the GdaRow to be removed. |
Returns : | TRUE if successful, FALSE otherwise.
|
gboolean gda_data_model_update_row (GdaDataModel *model, const GdaRow *row);
Updates a row data model. This results in the underlying database row's values being changed.
model : | a GdaDataModel object. |
row : | the GdaRow to be updated. |
Returns : | TRUE if successful, FALSE otherwise.
|
gboolean gda_data_model_append_column (GdaDataModel *model, const GdaFieldAttributes *attrs);
Appends a column to the given data model. If successful, the position of
the new column in the data model is set on col
, and you can grab it using
gda_field_attributes_get_position
.
model : | a GdaDataModel object. |
attrs : | a GdaFieldAttributes describing the column to add. |
Returns : | TRUE if successful, FALSE otherwise.
|
gboolean gda_data_model_update_column (GdaDataModel *model, gint col, const GdaFieldAttributes *attrs);
Updates a column in the given data model. This results in the underlying database row's values being changed.
model : | a GdaDataModel object. |
col : | the column to be updated. |
attrs : | attributes for the column. |
Returns : | TRUE if successful, FALSE otherwise.
|
gboolean gda_data_model_remove_column (GdaDataModel *model, gint col);
Removes a column from the data model. This means that all values attached to this column in the data model will be destroyed in the underlying database.
model : | a GdaDataModel object. |
col : | the column to be removed. |
Returns : | TRUE if successful, FALSE otherwise.
|
gboolean (*GdaDataModelForeachFunc) (GdaDataModel *model, GdaRow *row, gpointer user_data);
model : | |
row : | |
user_data : | |
Returns : |
void gda_data_model_foreach (GdaDataModel *model, GdaDataModelForeachFunc func, gpointer user_data);
Calls the specified callback function for each row in the data model. This will just traverse all rows, and call the given callback function for each of them.
The callback function must have the following form:
gboolean foreach_func (GdaDataModel *model, GdaRow *row, gpointer user_data)
where "row" would be the row being read, and "user_data" the parameter
specified in user_data
in the call to gda_data_model_foreach.
This callback function can return FALSE
to stop the processing. If
it returns TRUE
, processing will continue until no rows remain.
model : | a GdaDataModel object. |
func : | callback function. |
user_data : | context data for the callback function. |
gboolean gda_data_model_has_changed (GdaDataModel *model);
Checks whether this data model is in updating mode or not. Updating
mode is set to TRUE
when gda_data_model_begin_update
has been
called successfully, and is not set back to FALSE
until either
gda_data_model_cancel_update
or gda_data_model_end_update
have
been called.
model : | a GdaDataModel object. |
Returns : | TRUE if updating mode, FALSE otherwise.
|
gboolean gda_data_model_begin_update (GdaDataModel *model);
Starts update of this data model. This function should be the first called when modifying the data model.
model : | a GdaDataModel object. |
Returns : | TRUE on success, FALSE if there was an error.
|
gboolean gda_data_model_cancel_update (GdaDataModel *model);
Cancels update of this data model. This means that all changes will be discarded, and the old data put back in the model.
model : | a GdaDataModel object. |
Returns : | TRUE on success, FALSE if there was an error.
|
gboolean gda_data_model_end_update (GdaDataModel *model);
Approves all modifications and send them to the underlying data source/store.
model : | a GdaDataModel object. |
Returns : | TRUE on success, FALSE if there was an error.
|
gchar* gda_data_model_to_comma_separated (GdaDataModel *model);
Converts the given model into a comma-separated series of rows.
model : | a GdaDataModel object. |
Returns : | the representation of the model. You should free this string when you no longer need it. |
gchar* gda_data_model_to_tab_separated (GdaDataModel *model);
Converts the given model into a tab-separated series of rows.
model : | a GdaDataModel object. |
Returns : | the representation of the model. You should free this string when you no longer need it. |
gchar* gda_data_model_to_xml (GdaDataModel *model, gboolean standalone);
Converts the given model into a XML representation.
model : | a GdaDataModel object. |
standalone : | whether ... |
Returns : | the representation of the model. You should free this string when you no longer need it. |
xmlNodePtr gda_data_model_to_xml_node (GdaDataModel *model, const gchar *name);
Converts a GdaDataModel into a xmlNodePtr (as used in libxml).
model : | a GdaDataModel object. |
name : | name to use for the XML resulting table. |
Returns : | a xmlNodePtr representing the whole data model. |
gboolean gda_data_model_add_data_from_xml_node (GdaDataModel *model, xmlNodePtr node);
Adds the data from a XML node to the given data model.
model : | a GdaDataModel. |
node : | a XML node representing a <data> XML node. |
Returns : | TRUE if successful, FALSE otherwise.
|
const gchar* gda_data_model_get_command_text (GdaDataModel *model);
Gets the text of command that generated this data model.
model : | a GdaDataModel. |
Returns : | a string with the command issued. |
void gda_data_model_set_command_text (GdaDataModel *model, const gchar *txt);
Sets the command text of the given model
.
model : | a GdaDataModel. |
txt : | the command text. |
GdaCommandType gda_data_model_get_command_type (GdaDataModel *model);
Gets the type of command that generated this data model.
model : | a GdaDataModel. |
Returns : | a GdaCommandType. |
void gda_data_model_set_command_type (GdaDataModel *model, GdaCommandType type);
Sets the type of command that generated this data model.
model : | a GdaDataModel. |
type : | the type of the command (one of GdaCommandType) |
<< GdaDataModelList | GdaError >> |