Gnome::Gda::DataComparator Class Reference
Data Handlers

Simple data model's contents comparison. More...

Inheritance diagram for Gnome::Gda::DataComparator:
[legend]
Collaboration diagram for Gnome::Gda::DataComparator:
[legend]

## Public Member Functions

| DataComparator (DataComparator&& src) noexcept
DataComparator& | operator= (DataComparator&& src) noexcept
virtual | ~DataComparator () noexcept
GdaDataComparator* | gobj ()
| Provides access to the underlying C GObject. More...
const GdaDataComparator* | gobj () const
| Provides access to the underlying C GObject. More...
GdaDataComparator* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
void | set_key_for_columns (const std::vector< int >& col_numbers)
bool | compute_diff ()
| Actually computes the differences between the data models for which comp is defined. More...
int | get_n_diffs () const
| Get the number of differences as computed by the last time compute_diff() was called. More...
const Diff* | get_diff (int pos)
| Get a pointer to the Gda::Diff structure representing the difference which number is pos. More...
Glib::PropertyProxy< Glib::RefPtr< DataModel > > | property_old_model ()
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< DataModel > > | property_old_model () const
Glib::PropertyProxy< Glib::RefPtr< DataModel > > | property_new_model ()
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< DataModel > > | property_new_model () const
Glib::SignalProxy1< bool, Diff* > | signal_diff_computed ()
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const
Public Member Functions inherited from sigc::trackable
| trackable ()
| trackable (const trackable &src)
| trackable (trackable &&src) noexcept
| ~trackable ()
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src) noexcept
void | remove_destroy_notify_callback (void *data) const
Public Member Functions inherited from Gnome::Gda::DataModel
| DataModel (DataModel&& src) noexcept
DataModel& | operator= (DataModel&& src) noexcept
virtual | ~DataModel () noexcept
GdaDataModel* | gobj ()
| Provides access to the underlying C GObject. More...
const GdaDataModel* | gobj () const
| Provides access to the underlying C GObject. More...
void | freeze ()
| Disables notifications of changes on the given data model. More...
void | thaw ()
| Re-enables notifications of changes on the given data model. More...
int | get_n_rows () const
int | get_n_columns () const
int | get_column_index (const Glib::ustring& name)
| Get the index of the first column named name in model. More...
Glib::RefPtr< Column > | describe_column (int col)
| Queries the underlying data model implementation for a description of a given column. More...
Glib::RefPtr< const Column > | describe_column (int col) const
| Queries the underlying data model implementation for a description of a given column. More...
Glib::ustring | get_column_title (int col) const
void | set_column_title (int col, const Glib::ustring& title)
| Sets the title of the given col in model. More...
Value | get_value_at (int col, int row) const
| Retrieves the data stored in the given position (identified by the col and row parameters) on a data model. More...
Value | get_typed_value_at (int col, int row, GType expected_type, bool nullok) const
| Upon errors `0` will be returned and error will be assigned a Error from the Gda::DATA_MODEL_ERROR domain. More...
ValueAttribute | get_attributes_at (int col, int row)
| Get the attributes of the value stored at (row, col) in model, which is an ORed value of Gda::ValueAttribute flags. More...
Glib::RefPtr< DataModelIter > | create_iter ()
| Creates a new iterator object Gda::DataModelIter object which can be used to iterate through rows in model. More...
bool | set_value_at (int col, int row, const Value& value)
| Modifies a value in model, at ( col, row). More...
bool | set_values (int row, const std::vector< Value >& values)
| In a similar way to set_value_at(), this method modifies a data model's contents by setting several values at once. More...
DataModelAccessFlags | get_access_flags () const
| Get the attributes of model such as how to access the data it contains if it's modifiable, etc. More...
int | append_values (const std::vector< Value >& values)
| Appends a row to the given data model. More...
bool | append_row ()
| Appends a row to the data model (the new row will possibly have `0` values for all columns, or some other values depending on the data model implementation) More...
bool | remove_row (int row)
| Removes a row from the data model. More...
int | get_row_from_values (const ValueVector& values, const std::vector< int >& cols_index)
| Returns the first row where all the values in values at the columns identified at cols_index match. More...
void | send_hint (DataModelHint hint, const Value& hint_value)
| Sends a hint to the data model. More...
Glib::ustring | export_to_string (DataModelIOFormat format, const std::vector< int >& cols, const std::vector< int >& rows, const Glib::RefPtr< Set >& options)
| Exports data contained in model to the a string; the format is specified using the format argument. More...
bool | export_to_file (DataModelIOFormat format, const std::string& file, const std::vector< int >& cols, const std::vector< int >& rows, const Glib::RefPtr< Set >& options)
| Exports data contained in model to the file; the format is specified using the format argument. More...
bool | import_from_model (const Glib::RefPtr< DataModel >& from, bool overwrite, GHashTable* cols_trans)
| Copy the contents of the from data model to the to data model. More...
bool | import_from_string (const Glib::ustring&string, GHashTable* cols_trans, const Glib::RefPtr< const Set >& options)
| Loads the data from string into model. More...
bool | import_from_file (const std::string& file, GHashTable* cols_trans, const Glib::RefPtr< const Set >& options)
| Imports data contained in the file file into model; the format is detected. More...
void | dump (FILE* to_stream) const
| Dumps a textual representation of the model to the to_stream stream. More...
Glib::ustring | dump_as_string () const
| Dumps a textual representation of the model into a new string. More...
void | set_column_name (int col, const Glib::ustring& name)
| Sets the name of the given col in model, and if its title is not set, also sets the title to name. More...
Glib::ustring | get_column_name (int col) const
bool | iter_move_next_default (const Glib::RefPtr< DataModelIter >& iter)
bool | iter_move_prev_default (const Glib::RefPtr< DataModelIter >& iter)
bool | iter_move_to_row_default (const Glib::RefPtr< DataModelIter >& iter, int row)
Glib::SignalProxy1< void, int > | signal_row_inserted ()
Glib::SignalProxy1< void, int > | signal_row_updated ()
Glib::SignalProxy1< void, int > | signal_row_removed ()
Glib::SignalProxy0< void > | signal_reset ()
Glib::SignalProxy0< void > | signal_changed ()
Public Member Functions inherited from Glib::Interface
| Interface ()
| Interface (Interface &&src) noexcept
Interface & | operator= (Interface &&src) noexcept
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
virtual | ~Interface () noexcept
| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
GObject * | gobj ()
const GObject * | gobj () const

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Glib::RefPtr< DataComparator > | create (const Glib::RefPtr< DataModel >& old_model, const Glib::RefPtr< DataModel >& new_model)
Static Public Member Functions inherited from Gnome::Gda::DataModel
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Protected Member Functions

| DataComparator (const Glib::RefPtr< DataModel >& old_model, const Glib::RefPtr< DataModel >& new_model)
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
virtual | ~Object () noexcept
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
Protected Member Functions inherited from Gnome::Gda::DataModel
| DataModel ()
| You should derive from this class to use it. More...
virtual void | on_row_inserted (int row)
| This is a default handler for the signal signal_row_inserted(). More...
virtual void | on_row_updated (int row)
| This is a default handler for the signal signal_row_updated(). More...
virtual void | on_row_removed (int row)
| This is a default handler for the signal signal_row_removed(). More...
virtual void | on_reset ()
| This is a default handler for the signal signal_reset(). More...
virtual void | on_changed ()
| This is a default handler for the signal signal_changed(). More...

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gnome::Gda::DataComparator > | wrap (GdaDataComparator* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gnome::Gda::DataModel
Glib::RefPtr< Gnome::Gda::DataModel > | wrap (GdaDataModel* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Additional Inherited Members

Public Types inherited from Glib::Object
typedef void(* | DestroyNotify) (gpointer data)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify
Public Types inherited from Gnome::Gda::DataModel
typedef std::vector< Value > | ValueVector

## Detailed Description

Simple data model's contents comparison.

The DataComparator is a simple object which takes two DataModel objects and compare them. Actual comparison is performed when the compute_diff() is called; for each difference found, the diff-computed signal is emitted (any user installed signal handler which returns FALSE stops the computing process).

After the differences have been computed, they can each be accessed using gda_data_comparator_get_diff(), the number of differences found being returned by gda_data_comparator_get_n_diffs(). There are some limitations to this object:

- The data models compared must have the same number and type of columns
- The comparison is done column-for-column: one cannot omit columns in the comparison, nor compare columns with different positions

## Constructor & Destructor Documentation

Gnome::Gda::DataComparator::DataComparator | ( | DataComparator&& | src | ) |

noexcept

virtual Gnome::Gda::DataComparator::~DataComparator | ( |  | ) |

virtual noexcept

Gnome::Gda::DataComparator::DataComparator | ( | const Glib::RefPtr< DataModel >& | old_model,
|  | const Glib::RefPtr< DataModel >& | new_model
| ) |  |

explicit protected

## Member Function Documentation

bool Gnome::Gda::DataComparator::compute_diff | ( |  | ) |

Actually computes the differences between the data models for which comp is defined.

For each difference computed, stored in a Gda::Diff structure, the "diff-computed" signal is emitted. If one connects to this signal and returns `false` in the signal handler, then computing differences will be stopped and an error will be returned.

Returns
  `true` if all the differences have been sucessfully computed, and `false` if an error occurred.

static Glib::RefPtr<DataComparator> Gnome::Gda::DataComparator::create | ( | const Glib::RefPtr< DataModel >& | old_model,
|  | const Glib::RefPtr< DataModel >& | new_model
| ) |  |

static

const Diff* Gnome::Gda::DataComparator::get_diff | ( | int | pos | ) |

Get a pointer to the Gda::Diff structure representing the difference which number is pos.

Parameters

  pos | The requested difference number (starting at 0).

Returns
  A pointer to a Gda::Diff, or `0` if pos is invalid.

int Gnome::Gda::DataComparator::get_n_diffs | ( |  | ) | const

Get the number of differences as computed by the last time compute_diff() was called.

Returns
  The number of computed differences.

static GType Gnome::Gda::DataComparator::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

GdaDataComparator* Gnome::Gda::DataComparator::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

const GdaDataComparator* Gnome::Gda::DataComparator::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

GdaDataComparator* Gnome::Gda::DataComparator::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

DataComparator& Gnome::Gda::DataComparator::operator= | ( | DataComparator&& | src | ) |

noexcept

Glib::PropertyProxy< Glib::RefPtr<DataModel> > Gnome::Gda::DataComparator::property_new_model | ( |  | ) |

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<DataModel> > Gnome::Gda::DataComparator::property_new_model | ( |  | ) | const

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< Glib::RefPtr<DataModel> > Gnome::Gda::DataComparator::property_old_model | ( |  | ) |

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<DataModel> > Gnome::Gda::DataComparator::property_old_model | ( |  | ) | const

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

void Gnome::Gda::DataComparator::set_key_for_columns | ( | const std::vector< int > & | col_numbers | ) |

Glib::SignalProxy1< bool,Diff* > Gnome::Gda::DataComparator::signal_diff_computed | ( |  | ) |

Slot Prototype:
  `bool on_my_diff_computed(Diff* diff)`

## Friends And Related Function Documentation

Glib::RefPtr< Gnome::Gda::DataComparator > wrap | ( | GdaDataComparator * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- libgdamm/datacomparator.h