Template Class Model

Inheritance Relationships

Derived Type

Class Documentation

template<typename ModelData>
class sixtyfps::Model

A Model is providing Data for for - in repetitions or ListView elements of the .60 language

Subclassed by sixtyfps::VectorModel< ModelData >

Public Functions

virtual ~Model() = default
Model() = default
Model(const Model&) = delete
Model &operator=(const Model&) = delete
virtual int row_count() const = 0

The amount of row in the model.

virtual ModelData row_data(int i) const = 0

Returns the data for a particular row. This function should be called with row < row_count().

inline virtual void set_row_data(int, const ModelData&)

Sets the data for a particular row.

This function should only be called with row < row_count().

If the model cannot support data changes, then it is ok to do nothing. The default implementation will print a warning to stderr.

If the model can update the data, it should also call row_changed

Protected Functions

inline void row_changed(int row)

Notify the views that a specific row was changed.

inline void row_added(int index, int count)

Notify the views that rows were added.

inline void row_removed(int index, int count)

Notify the views that rows were removed.